#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
#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