OpenGL의 두 광원 아래에서 3D 정물 장면

두 세트의 Phong 광원을 설정하고, 여러 가지 다른 3D 모델을 그리고, 투명도를 설정하고, 키보드 상호 작용으로 회전을 제어합니다.

광원을 설정하는 코드:


void init(void) {
	GLfloat light_position1[] = { 5.0, 5.0, 5.0, 1.0 };
	GLfloat ambient1[] = { 0.2, 0.2, 0.2, 1.0 };
	GLfloat diffuse1[] = { 1.0, 1.0, 1.0, 1.0 };
	GLfloat specular1[] = { 1.0, 1.0, 1.0, 1.0 };

	GLfloat light_position2[] = { -10.0, -10.0, -10.0, 0.0 };
	GLfloat ambient2[] = { 0.2, 0.2, 0.2, 1.0 };
	GLfloat diffuse2[] = { 1.0, 1.0, 1.0, 1.0 };
	GLfloat specular2[] = { 1.0, 1.0, 1.0, 1.0 };

	glClearColor(0.0, 0.0, 0.0, 0.0);
	glShadeModel(GL_SMOOTH);

	glLightfv(GL_LIGHT0, GL_POSITION, light_position1);
	glLightfv(GL_LIGHT0, GL_AMBIENT, ambient1);
	glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse1);
	glLightfv(GL_LIGHT0, GL_SPECULAR, specular1);

	glLightfv(GL_LIGHT1, GL_POSITION, light_position2);
	glLightfv(GL_LIGHT1, GL_AMBIENT, ambient2);
	glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse2);
	glLightfv(GL_LIGHT1, GL_SPECULAR, specular2);

	glEnable(GL_LIGHTING);
	glEnable(GL_LIGHT0);
	glEnable(GL_LIGHT1);
	glEnable(GL_DEPTH_TEST);
	glEnable(GL_NORMALIZE);
}

 

Supongo que te gusta

Origin blog.csdn.net/y0205yang/article/details/131380734
Recomendado
Clasificación