Java 我可以在OpenGL中为静态对象推送一次矩阵吗?
我需要了解我能不能给glEnd的glBegin打个电话,只为我的项目打一次电话 我试着调用myRender函数一次,并不是每次都调用,但它会在第二帧删除所有多边形 我的滴答声事件Java 我可以在OpenGL中为静态对象推送一次矩阵吗?,java,opengl,opengl-compat,Java,Opengl,Opengl Compat,我需要了解我能不能给glEnd的glBegin打个电话,只为我的项目打一次电话 我试着调用myRender函数一次,并不是每次都调用,但它会在第二帧删除所有多边形 我的滴答声事件 public void render() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(0.925f, 0.98f, 0.988f, 1f); glPushMatrix();
public void render() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor(0.925f, 0.98f, 0.988f, 1f);
glPushMatrix();
game.tickRender();
glPopMatrix();
}
我试过这个
public void render() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor(0.925f, 0.98f, 0.988f, 1f);
}
我需要计算我的矩阵一次,为项目优化。如果我能做到,我还有第二个问题。我是否可以一次性绘制静态多边形,并在渲染函数中每次勾选非静态(移动)多边形?注意,几十年来,按序列绘制和固定函数矩阵堆栈一直被弃用。请参阅和。阅读并了解最先进的渲染方式
开始序列,然后
glEnd
结束序列。当然,您可以在代码中绘制多个原语序列 基本体的顶点坐标由设置。每个顶点坐标由当前模型视图和投影矩阵进行变换(请参见) 但请注意,不允许在
glBegin
/glEnd
序列中更改当前矩阵。在glBegin
之后(和glEnd
之前)唯一允许的命令是设置顶点坐标和设置相应属性的命令,如glVertex
、glColor
、glNormal
、glTexCoord
这些说明像。。。更改当前属性,该属性在调用glVertex
时与顶点关联。也可以在执行glBegin
/glEnd
序列之前执行此指令 你说的“推动矩阵”是什么意思?代码没有显示任何矩阵计算glBegin/End
基本上已经过时几十年了,我们在VBOs中使用顶点数组已有15年了。另外,如果你把窗口清除为纯色,我不知道除了纯色之外你还能看到什么。
public void begin(){
glPushMatrix();
game.tickRender();
glPopMatrix();
}