永发信息网

求好心人帮忙解决OPENGL注释,感激不尽,跪拜

答案:2  悬赏:10  手机版
解决时间 2021-02-28 04:50
  • 提问者网友:聂風
  • 2021-02-27 09:11
#define WIN32_LEAN_AND_MEAN
#include
#include
#include
#include
#include

float angle = 0.0f;
HDC g_HDC;
bool fullScreen = false; bool keyPressed[256];
float lightPosition[] = { 0.0f, 0.0f, 1.0f, 0.0f };
float diffuseLight[] = { 1.0f, 1.0f, 1.0f, 1.0f }; float diffuseMat[] = { 1.0f, 1.0f, 1.0f, 1.0f };
float ballDiffuse[] = { 0.5f, 0.5f, 0.0f, 1.0f }; float ballSpecular[] = { 1.0f, 1.0f, 1.0f, 1.0f }; float ballPosition[] = { 0.0f, 0.0f, 0.0f, 1.0f };
void Initialize()
{

glEnable(GL_LIGHTING);
glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE);

glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuseLight);
glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);
glEnable(GL_LIGHT0);

glLightfv(GL_LIGHT1, GL_DIFFUSE, ballDiffuse);
glLightfv(GL_LIGHT1, GL_SPECULAR, ballSpecular);
glEnable(GL_LIGHT1);

glMaterialfv(GL_FRONT, GL_DIFFUSE, diffuseMat);

glEnable(GL_COLOR_MATERIAL);

glShadeModel(GL_SMOOTH);

glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
}
void Render()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();

if (angle >= 359.9f)
angle = 0.0f;
angle += 0.1;

glTranslatef(0.0f, 0.0f, -15.0f);

glLightfv(GL_LIGHT1, GL_POSITION, ballPosition);

glPushMatrix();
glColor3f(1.0f, 1.0f, 0.0f);
glTranslatef(ballPosition[0], ballPosition[1], ballPosition[2]);
auxSolidSphere(0.5f);
glPopMatrix();

glPushMatrix();
glRotatef(angle, 0.0f, 1.0f, 0.0f);
glTranslatef(0.0f, 0.0f, 6.0f);
glColor4f(1.0f, 0.2f, 0.2f, 1.0f);
auxSolidSphere(2.0f);
glPopMatrix();

glEnable(GL_BLEND);

glDepthMask(GL_FALSE);

glBlendFunc(GL_SRC_ALPHA, GL_ONE);

glPushMatrix();
glRotatef(angle, 0.0f, 1.0f, 0.0f);
glTranslatef(0.0f, 0.0f, -6.0f);
glColor4f(0.0f, 0.5f, 0.5f, 0.3f);
auxSolidSphere(2.0f);
glPopMatrix();

glDepthMask(GL_TRUE);

glDisable(GL_BLEND);

glFlush();
SwapBuffers(g_HDC); }
void SetupPixelFormat(HDC hDC)
{
int nPixelFormat;

static PIXELFORMATDESCRIPTOR pfd = {
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW |
PFD_SUPPORT_OPENGL |
PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA, 32,
0, 0, 0, 0, 0, 0,
0,
0,
0,
0, 0, 0, 0,
16,
0,
0,
PFD_MAIN_PLANE, 0, 0, 0, 0 };
nPixelFormat = ChoosePixelFormat(hDC, &pfd);
SetPixelFormat(hDC, nPixelFormat, &pfd); }
最佳答案
  • 五星知识达人网友:傲气稳了全场
  • 2021-02-27 09:52
#定义WIN32_LEAN_AND_MEAN

#包括

#包括

#包括

#包括

#包括

浮动角= 0.0f;

HDC g_HDC;

布尔全屏=假;布尔keyPressed [256];

浮动lightPosition [] =(0.0f,0.0f,1.0f,0.0f);

浮动diffuseLight [] =(1.0f,1.0f,1.0f,1.0f);浮动diffuseMat [] =(1.0f,1.0f,1.0f,1.0f);

浮动ballDiffuse [] =(0.5f,0.5f,0.0f,1.0f);浮动ballSpecular [] =(1.0f,1.0f,1.0f,1.0f);浮动ballPosition [] =(0.0f,0.0f, 0.0f,1.0f);

无效初始化()





 glEnable(GL_LIGHTING);

 glEnable(GL_DEPTH_TEST);

 glEnable(GL_CULL_FACE);



 glLightfv(GL_LIGHT0,GL_DIFFUSE,diffuseLight);

 glLightfv(GL_LIGHT0,GL_POSITION,lightPosition);

 glEnable(GL_LIGHT0);



 glLightfv(GL_LIGHT1,GL_DIFFUSE,ballDiffuse);

 glLightfv(GL_LIGHT1,GL_SPECULAR,ballSpecular);

 glEnable(GL_LIGHT1);



 glMaterialfv(GL_FRONT,GL_DIFFUSE,diffuseMat);



 glEnable(GL_COLOR_MATERIAL);



 glShadeModel(GL_SMOOTH
全部回答
  • 1楼网友:举杯邀酒敬孤独
  • 2021-02-27 11:18
同问。。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯