0

我正在尝试使用 openGL 和 processing2.0 库来实现一个发光的立方体。但是,当我尝试从处理库(lights()、directionalLight() 等)调用任何照明方法时,当我尝试运行它时会出现空指针错误。这是方法:

private void render(GLAutoDrawable drawable)
{
    GL2 gl = drawable.getGL().getGL2();
    //Gets the drawable object which performs the rendering

    PGraphics3D pg = new PGraphics3D();

    gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
    //Clears the color buffer

    pg.directionalLight(51, 102, 126, 0, -1, 0);

    pg.ambientLight(51, 102, 126);

    pg.specular(204, 102, 0);

    pg.ambient(51, 26, 0);

    glutSolidCube(1);

//      pg.box(1);

}
4

1 回答 1

0

您可以使用内置的处理功能绘制带有闪电的立方体。P3D 渲染器内部也使用 OpenGL。

float angle = 0.0;
float step = 0.01;

void setup(){
  size(400, 400, P3D);
  noStroke();
}

void draw(){
  background(0);
  directionalLight(126, 126, 126, 0, 0, -1);
  ambientLight(102, 102, 102);
  translate(width/2, height/2, 0);
  rotateX(angle*0.1);
  rotateY(angle);
  angle += step;
  box(200);
}
于 2013-08-06T07:07:02.127 回答