gpt4 book ai didi

opengl - 在 OpenGL/Glut 中创建一个 Chrome 立方体?

转载 作者:行者123 更新时间:2023-12-01 10:16:00 25 4
gpt4 key购买 nike

我正在尝试在 GLUT/OpenGL 中制作一个 Chrome 的立方体,但我不确定具体该怎么做。

我在教科书中查找了“ Material 表”,其中显示“Chrome”是:环境光:(0.25, 0.25, 0.25),漫反射:(0.4, 0.4, 0.4),高光:(0.774597,0.774597,0.774597)。

我的问题是,如何创建一个简单的立方体并在 Glut/OpenGL 中将这种 Material /纹理应用于它?

我是否使用“glutSolidCube()”?如果是这样,我该如何对其应用 Chrome 纹理?

任何 GLUT/OpenGL 的人能给我指出正确的方向吗?

最佳答案

这应该像调用 glMaterialfv() 一样简单之前 glutSolidCube() .

自从上学以来我就没有用过 OpenGL,但这里有一些来自旧项目的显示循环代码,该项目使用了一个球体,应该能让您走上正轨:

_Ambient[CHROME][0] = 0.25f;
_Ambient[CHROME][1] = 0.25f;
_Ambient[CHROME][2] = 0.25f;
_Ambient[CHROME][3] = 1.0f;
_Diffuse[CHROME][0] = 0.4f;
_Diffuse[CHROME][1] = 0.4f;
_Diffuse[CHROME][2] = 0.4f;
_Diffuse[CHROME][3] = 1.0f;
_Specular[CHROME][0] = 0.774597f;
_Specular[CHROME][1] = 0.774597f;
_Specular[CHROME][2] = 0.774597f;
_Specular[CHROME][3] = 1.0f;
_Shininess[CHROME] = 76.8f;


void Display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glPushMatrix();
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, _Ambient[CHROME]);
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, _Diffuse[CHROME]);
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, _Specular[CHROME]);
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, _Shininess[CHROME]);
// Translations...
glutSolidSphere(_Radius, _Slices, _Stacks);
glPopMatrix();

glFlush();

glutSwapBuffers();
}

关于opengl - 在 OpenGL/Glut 中创建一个 Chrome 立方体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/743085/

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