OpenGL 超级宝典学习,制作 圆柱,球体,花托,圆盘等多边体

这个博客详细介绍了使用OpenGL进行图形学编程,通过GLTools库创建并绘制3D几何体,包括球体、花托、圆柱和圆盘。博客中展示了如何初始化OpenGL环境,设置着色器,以及使用矩阵变换来旋转和展示这些几何体。
摘要由CSDN通过智能技术生成
#include <GLTools.h>
#include <GLMatrixStack.h>
#include <GLFrame.h>
#include <GLFrustum.h>
#include <GLBatch.h>
#include <GLGeometryTransform.h>
#include <math.h>
#ifdef __APPLE__
#include <glut/glut.h>
#else
#define FREEGLUT_STATIC
#include <gl/glut.h>
#endif




GLShaderManager shaderManager; //着色管理器
GLMatrixStack   modelViewMatrix;
GLMatrixStack   projectionMatrix;
GLFrame         cameraFrame;
GLFrame         objectFrame;
GLFrustum       viewFrustum;


GLTriangleBatch sphereBatch;
GLTriangleBatch torusBatch;
GLTriangleBatch cylinderBatch;
GLTriangleBatch coneBatch;
GLTriangleBatch diskBatch;


GLGeometryTransform transformPipeline;
M3DMatrix44f    shadowMatrix;


GLfloat vGreen[] = { 0.0f, 1.0f, 0.0f, 1.0f };
GLfloat vBlack[] = { 0.0f, 0.0f, 0.0f, 1.0f };


int nStep = 0;


void SetupRC()
{
glClearColor(0.7f, 0.7f, 0.7f, 1.0f);
shaderManager.InitializeStockShaders(); 初始化
glEnable(GL_DEPTH_TEST); // 开启深度测试
transformPipeline.SetMatrixStacks(modelViewMatrix, projectionMatrix);
cameraFrame.MoveForward(-15.0f);
gltMakeSphere(sphereBatch, 3.0, 10, 20);// 球体
gltMakeTorus(torusBatch, 3.0f, 0.75f, 15, 15); // 花托
gltMakeCylinder(cylinderBatch, 2.0f, 2.0f, 3.0f, 13, 2);//圆柱
gltMakeCylinder(coneBatch, 2.0f, 0.0f, 3.0f, 13, 2);
g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值