小编dko*_*zev的帖子

使用Ruby 1.9.3进行ruby-debug?

我刚刚更新到Ruby 1.9.3p0和Rails 3.1.1.现在,当我尝试启动服务器时,它抱怨我应该安装ruby-debug,即使它已经安装.

% rails server --environment=development --debug
=> Booting WEBrick
=> Rails 3.1.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
You need to install ruby-debug to run the server in debugging mode. With gems, use 'gem install ruby-debug'
Exiting
Run Code Online (Sandbox Code Playgroud)

在我的Gemfile中我有

# see: http://stackoverflow.com/questions/1083451/debugging-in-ruby-1-9
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"
Run Code Online (Sandbox Code Playgroud)

是否可以使用最新版本的Ruby运行调试?

ruby ruby-on-rails ruby-debug ruby-1.9.3

70
推荐指数
3
解决办法
4万
查看次数

如何向Active Admin添加自定义过滤器?

Active Admin允许我定义索引页面上显示的过滤器,如下所示:

ActiveAdmin.register Promo do

  filter :name
  filter :address
  filter :city
  filter :state
  filter :zip

end
Run Code Online (Sandbox Code Playgroud)

我想将上面的所有字段合并为一个,以便我可以搜索包含名称或完整地址中的搜索字符串的Promos.我的模型已经有一个我可以使用的命名范围:

class Promo < ActiveRecord::Base
  scope :by_name_or_full_address, lambda { |q| where('name LIKE :q OR address LIKE :q OR city LIKE :q OR state LIKE :q OR zip LIKE :q', :q => "%#{q}%") }
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3 activeadmin

31
推荐指数
6
解决办法
4万
查看次数

如何在Three.js中操作阴影而不编辑基础网格?

我正在开发一个应用程序,该应用程序应允许用户操纵场景中的3D对象并观察它们的变化如何影响地面阴影:

在此处输入图片说明

在此场景中,黄色圆柱体在白色平面上投射阴影,圆柱体的中间包含在绿色立方体中。我想发生的是立方体除去阴影的中间,像这样:

在此处输入图片说明

显然,我的第一个想法是从黄色圆柱体体积中减去绿色立方体体积,经过一番谷歌搜索之后,我找到了CSG.js。不幸的是,对于我将要使用的实际模型,CSG.js太慢了,它将至少具有15,000个顶点。

我开始深入研究Three.js源码并阅读有关阴影贴图的知识,以了解如何产生阴影,但是我的shader-fu还不够强大,无法完全掌握如何调整阴影渲染。

如何实现这种“阴影减法”效果?

var camera, scene, renderer;

init();
animate();

function init() {
  scene = new THREE.Scene();

  camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 1000 );
  camera.position.z = 500;
  camera.position.y = 100;
  camera.lookAt(scene.position);

  var ambient = new THREE.AmbientLight(0x909090);
  scene.add(ambient);

  var directionalLight = new THREE.DirectionalLight( 0xffffff, 1.0 );
  directionalLight.position.set( -300, 300, 0 );
  directionalLight.castShadow = true;
  directionalLight.shadow.camera.near    =   10;
  directionalLight.shadow.camera.far     =   2000;
  directionalLight.shadow.camera.right   =   350;
  directionalLight.shadow.camera.left    =  -350;
  directionalLight.shadow.camera.top     =   350;
  directionalLight.shadow.camera.bottom  =  -350;
  directionalLight.shadow.mapSize.width  = 1024;
  directionalLight.shadow.mapSize.height …
Run Code Online (Sandbox Code Playgroud)

glsl webgl three.js

4
推荐指数
1
解决办法
1016
查看次数