简单易学的3D颜色填充
在三维图形学中,颜色填充是一项常见的任务。它是指在三维模型中,将一个物体的表面进行填充,使其呈现出逼真的漫反射效果。
我们可以使用OpenGL来实现这一过程。下面是一段简单的OpenGL代码示例,它可以生成一个简单的立方体,并对其进行颜色填充:
#include <GL/glut.h>
void init(void)
{
/* 初始化 */
glClearColor(0, 0, 0, 0);
}
void display(void)
{
/* 绘制立方体 */
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
/* 上下面 */
glColor3f(1, 1, 0); glVertex3f(-1, 1, 1); glVertex3f(-1, 1, -1); glVertex3f(1, 1, -1); glVertex3f(1, 1, 1);
glColor3f(0, 1, 1); glVertex3f(-1, -1, 1); glVertex3f(-1, -1, -1); glVertex3f(1, -1, -1); glVertex3f(1, -1, 1);
/* 左右面 */
glColor3f(1, 0, 1); glVertex3f(-1, 1, 1); glVertex3f(-1, -1, 1); glVertex3f(-1, -1, -1); glVertex3f(-1, 1, -1);
glColor3f(1, 0, 0); glVertex3f(1, 1, 1); glVertex3f(1, -1, 1); glVertex3f(1, -1, -1); glVertex3f(1, 1, -1);
/* 前后面 */
glColor3f(0, 1, 0); glVertex3f(-1, 1, 1); glVertex3f(1, 1, 1);