gpt4 book ai didi

java - OpenGL:带有显示列表的 Material ?

转载 作者:行者123 更新时间:2023-11-30 11:57:29 25 4
gpt4 key购买 nike

我正在使用 JOGL 和 OpenGL。我正在通过显示列表绘制所有内容。我正在尝试弄清楚如何指定 Material 。

我一直在看这个documentation .以下看起来非常简单:

glPushMatrix();
glTranslatef (-1.25, 3.0, 0.0);
glMaterialfv(GL_FRONT, GL_AMBIENT, no_mat);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, low_shininess);
glMaterialfv(GL_FRONT, GL_EMISSION, no_mat);
auxSolidSphere();
glPopMatrix();

我如何使用显示列表来做到这一点?没有它们,我的应用程序就太慢了。

最佳答案

glMaterial 调用放入您的显示列表中。

int displayList = glGenLists(1);
glNewList(displayList, GL_COMPILE);
FloatBuffer ambient = BufferUtils.createFloatBuffer(4);
ambient.put(1.0f); // red
ambient.put(0.0f); // green
ambient.put(0.5f); // blue
ambient.put(1.0f); // alpha
ambient.flip(); // now OpenGL can read the buffer
glMaterial(GL_FRONT, GL_AMBIENT, ambient);
// put other material properties here
// put glVertex/glColor calls here
glEndList();

关于java - OpenGL:带有显示列表的 Material ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3794407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com