资源简介
该代码提供了一个简单的方法绘制花瓶,源码具有参考性。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
using namespace std;
#define PI 3.1415
double Noise(int x int y) // 根据(xy)获取一个初步噪声值
{
int n = x + y * 57;
n = (n << 13) ^ n;
return (1.0 - ((n * (n * n * 15731 + 789221) + 1376312589) & 0x7fffffff) / 1073741824.0);
}
struct Point
{
double x y z;
Point();
Point(double _x double _y double _z) {
x = _x;
y = _y;
z = _z;
}
};
double *vertex;
vector m_vertex;
void BuildVase();
void init() {
glClearColor(0 0 0 0);
glShadeModel(GL_SMOOTH);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
GLfloat light_ambient[4] = { 10.111.0 };
GLfloat light_diffuse[4] = { 0000.0 };
GLfloat light_specular[4] = { 0000.0 };
GLfloat light_position[4] = { 100.01000.00.0 };
glLightfv(GL_LIGHT0 GL_AMBIENT light_ambient);
glLightfv(GL_LIGHT0 GL_DIFFUSE light_diffuse);
glLightfv(GL_LIGHT0 GL_SPECULAR light_specular);
glLightfv(GL_LIGHT0 GL_POSITION light_position);
BuildVase();
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
gluLookAt(0 700 1000 0 0 0 0 1 0);
glTranslatef(0 -100 0);
glDisable(GL_LIGHTING);
glBegin(GL_QUADS);
for (int i = 0; i < m_vertex.size(); i++)
{
//glColor3f(1 0 0);
float cx = Noise(0 m_vertex[i].x);
float cy = Noise(0 m_vertex[i].y);
float cz = Noise(0 m_vertex[i].z);
glColor3f(cz cz cz);
glVertex3f(m_vertex[i].x m_vertex[i].y m_vertex[i].z);
}
glEnd();
glEnable(GL_LIGHTING);
//glutSolidSphere(5.0 20 10);
glutSwapBuffers();
}
void reshape(int w int h)
{
glViewport(0 0 (GLsizei)w (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(40.0 (GLfloat)w / (GLfloat)h 0.1 30000.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
相关资源
- C++编写的第三人称视角小球Ploygon风格
- C++ Primer Plus第6版源码.zip
- 基于C#平台开发的surf算法,可直接运
- 自己实现的ping源码
- (严蔚敏)数据结构视频教程C语言版
- 2019华为软件精英挑战赛C++ 源码实现
- vs2013 c++串口助手源码
- 使用Qt做的数据管理系统
- 感染EXE文件的VC++源码请谨慎使用.
- vc自动更新源码
- 基于RFID门禁系统源码 C/C++
- 多国语言Demo源码 c++builder6编写
- C++ IOCP socket完成端口视频教程及源码
- 七控制点B样条曲线
- p2p技术C语言源码
- 通过MFC和OpenGL实现点云数据的提取和
- Visual C++ 6.0高级编程技术-OpenGL篇 源代
- Annotated Solution Guide for Thinking in C++
- SHA1算法C实现源码
- 修改Windows路由表源码
- C语言-遗传算法的排课源码
- 网络调试工具VS2008 C++源码
- 水流界面追踪VOF模型的CPP源码
- C语言C++魔兽全图源码
- 上传的p2p技术C语言源码
- 一个五子棋游戏的MFC实现源码已判禁
- spath(A*算法的C语言源代码)
- c语言图书管理系统源码 c语言图书管
- 图像分割 grabcut C++版本的源码,包含
- 《语音信号处理 C++版》所有源码
评论
共有 条评论