Java 我可以在OpenGL中为静态对象推送一次矩阵吗?

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();

我需要了解我能不能给glEnd的glBegin打个电话,只为我的项目打一次电话

我试着调用myRender函数一次,并不是每次都调用,但它会在第二帧删除所有多边形

我的滴答声事件

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();
}