3D游戏编程OpenGL入门.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:67 大小:14.4MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

3D游戏编程OpenGL入门.pdf

3D游戏编程OpenGL入门.pdf

预览

免费试读已结束,剩余 57 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

OpenGL:IntroductionYanciZhangGameProgrammingIIOutlineOverviewofOpenGLOpenGLvs.DirectXOpenGL“HelloWorld”GLUTlibraryRenderingpipelineCoordinatesystemGameProgrammingIIWhatisOpenGL?OpenGL=OpenGraphicsLibraryGraphicsrenderingAPIProducehigh-qualitycolorimagescomposedof3DgeometricobjectsandimagesHardwareindependentCrossplatformGameProgrammingIIBasicFunctionBasesformanyadvanceddatastructuresingameprogrammingTypicalapplicationsScenegraphStategraphDecisiontreeKd-tree,quadtree…GameProgrammingIIWhatCanOpenGLDo?Renderingbasicprimitives,likepoints,lines,triangles…MatrixoperationsLocalilluminationTexturemappingPixeloperations…GameProgrammingIIWhatCanNotOpenGLDo?CreatewindowsHandlewindoweventsResponsetouserinputScenemanagement…GameProgrammingIIOpenGLvs.DirectX1/2OpenGLisonlygraphicslibraryDirectXhandlesgraphics,audio,userinputUseOpenGLimproperly,systemdoesnothingUseDirectXimproperly,systemdoessomethingbeyondexpectationGameProgrammingIIOpenGLvs.DirectX2/2OpenGLIndustrystandardmaintainedbyOpenGLArchitecturalReviewBoard(ARB)StablefunctioninterfaceCrossplatformVeryclean,easytolearnDirectXMicrosoft’sproductInstablefunctioninterfaceOnlysupportWindowsGameProgrammingIIOpenGLFunctionsNamingWithprefixglCapitalletterforeachnewwordExamplesglBegin,glEndglEnable,glDisableglClearGameProgrammingIIDataType&ConstantBasicdatatypeWithprefixGLAllsmalllettersSimilartoC++datatypeExample:GLdouble=double,GLfloat=float,GLint=int,GLuint=unsignedintConstantWithprefixGL_AllcapitallettersExamples:GL_POINTS,GL_CCWGameProgrammingIIHelloWorld1/3#include<GL/gl.h>Allopenglprogramsshouldincludegl.h.#include<GL/glu.h>Almostallopenglprogramsincludeglu.hmain(){initWindow();Initializewindowwhichisaplatform-dependentoperationglClearColor(0.0,0.0,0.0,0.0);ClearwindowswithblackcolorglClear(GL_COLOR_BUFFER_BIT);glColor3f