已阅读5页,还剩258页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机三维图形程序设计,徐岗gx州电子科技大学,引言,图形与图像的区别实时渲染与离线渲染,三维图形应用程序,一个基于OpenGL的游戏Quake3/4,通常的实时渲染系统,视景仿真系统虚拟现实、军事仿真三维游戏网上三维交互电子商务、虚拟商城、虚拟社区,三维图形实时渲染引擎,开源系统OGRE(/)OSG()IrrIichtengine(,OpenGL现状,TheKhronosGroup-MediaAuthoringandAccelerationTheKhronosGroupisanindustryconsortiumcreatingopenstandardsfortheauthoringandaccelerationofparallelcomputing,graphicsanddynamicmediaonawidevarietyofplatformsanddevices.AllKhronosmembersareabletocontributetothedevelopmentofKhronosAPIspecifications,areempoweredtovoteatvariousstagesbeforepublicdeployment,andareabletoacceleratethedeliveryoftheircutting-edge3Dplatformsandapplicationsthroughearlyaccesstospecificationdraftsandconformancetests.,/,OpenGL现状,TheOpenGL4.2andOpenGLShadingLanguage4.20SpecificationswerereleasedonAugust8,2011DirectX11,OpenCL,OpenCL-Theopenstandardforparallelprogrammingofheterogeneoussystems.OpenCListhefirstopen,royalty-freestandardforcross-platform,parallelprogrammingofmodernprocessorsfoundinpersonalcomputers,serversandhandheld/embeddeddevices.OpenCL(OpenComputingLanguage)greatlyimprovesspeedandresponsivenessforawidespectrumofapplicationsinnumerousmarketcategoriesfromgamingandentertainmenttoscientificandmedicalsoftware.WebCL-HeterogeneousparallelcomputinginHTML5webbrowsers.TheWebCLworkinggroupisworkingtodefineaJavaScriptbindingtotheKhronosOpenCLstandardforheterogeneousparallelcomputing.WebCLwillenablewebapplicationstoharnessGPUandmulti-coreCPUparallelprocessingfromwithinaWebbrowser,enablingsignificantaccelerationofapplicationssuchasimageandvideoprocessingandadvancedphysicsforWebGLgames.WebCLisbeingdevelopedinclosecooperationwiththeWebcommunityandhasthepotentialtoextendthecapabilitiesofHTML5browserstoacceleratecomputationallyintensiveandrichvisualcomputingapplications.,第一章OpenGL概览,图形硬件的软件接口跨平台Windows,linuxGLU(OpenGLUtilityLibrary)建模(曲线、曲面(NURBS))是一个状态机。它将一直处于您指定的各种状态(或模式)中,直到您修改这些状态为止。,OpenGL程序框架,打开一个窗口创建一个OpenGLContextWhile(!Stop)if(有事件)更新数据绘制当前帧else空闲处理,一个简单的OpenGL程序,#includemain()InitializeAWindowPlease();glClearColor(0.0,0.0,0.0,0.0);glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0,1.0,1.0);glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);glBegin(GL_POLYGON);glVertex3f(0.25,0.25,0.0);glVertex3f(0.75,0.25,0.0);glVertex3f(0.75,0.75,0.0);glVertex3f(0.25,0.75,0.0);glEnd();glFlush();UpdateTheWindowAndCheckForEvents();,OpenGL的要点,OpenGL函数的语法OpenGL是一个状态机OpenGL渲染流水线显示列表求值程序顶点操作图元装配PrimitiveAssembly像素操作纹理装配光栅化片元操作,数据类型,动画,open_window();for(i=0;i1000000;i+)clear_the_window();draw_frame(i);wait_until_a_24th_of_a_second_is_over();双buffer状态下的绘制open_window_in_double_buffer_mode();for(i=0;i1000000;i+)clear_the_window();draw_frame(i);swap_the_buffers();,帧频的变化,theswap_the_buffers()routinewaitsuntilthecurrentscreenrefreshperiodisoversothatthepreviousbufferiscompletelydisplayed.,OpenGL程序练习,第二章状态管理和绘制几何体,ClearingtheWindow,SpecifyingaColor,glColor3f(1.0,0.0,0.0);redglColor3f(0.0,1.0,0.0);greenglColor3f(1.0,1.0,0.0);yellowglColor3f(0.0,0.0,1.0);blueglColor3f(1.0,0.0,1.0);magentaglColor3f(0.0,1.0,1.0);cyanglColor3f(1.0,1.0,1.0);white,ForcingCompletionofDrawing,glFlush()glFinish(),CoordinateSystemSurvivalKit,Example2-1:ReshapeCallbackFunctionvoidreshape(intw,inth)glViewport(0,0,(GLsizei)w,(GLsizei)h);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0,(GLdouble)w,0.0,(GLdouble)h);,Points,Lines,Polygons,Vertex(x,y,z,w)First,theedgesofOpenGLpolygonscantintersect(amathematicianwouldcallapolygonsatisfyingthisconditionasimplepolygon).OpenGLpolygonsmustbeconvex,meaningthattheycannothaveindentations.Statedprecisely,aregionisconvexif,givenanytwopointsintheinterior,thelinesegmentjoiningthemisalsointheinterior.,Rectangles,CurvesandCurvedSurfaces,voidglRectsifd(TYPEx1,TYPEy1,TYPEx2,TYPEy2);,SpecifyingVertices,voidglVertex234sifdv(TYPEcoords);CallstoglVertex*()areonlyeffectivebetweenaglBegin()andglEnd()pair.,OpenGL的几何绘图图元,SpecifyingVertexList,Example1,Example2-4:OtherConstructsbetweenglBegin()andglEnd()#definePI3.1415926535898GLintcircle_points=100;glBegin(GL_LINE_LOOP);for(i=0;i=0lieinthehalf-spacedefinedbytheplane,whereMisthecurrentmodelviewmatrixatthetimeglClipPlane()iscalled.Allpointsnotinthishalf-spaceareclippedaway.TheplaneargumentisGL_CLIP_PLANEi,whereiisanintegerspecifyingwhichoftheavailableclippingplanestodefine.iisanumberbetween0andonelessthanthemaximumnumberofadditionalclippingplanes.glEnable(GL_CLIP_PLANEi);,ReversingTransformations,intgluUnProject(GLdoublewinx,GLdoublewiny,GLdoublewinz,constGLdoublemodelMatrix16,constGLdoubleprojMatrix16,constGLintviewport4,GLdouble*objx,GLdouble*objy,GLdouble*objz);Mapthespecifiedwindowcoordinates(winx,winy,winz)intoobjectcoordinates,usingtransformationsdefinedbyamodelviewmatrix(modelMatrix),projectionmatrix(projMatrix),andviewport(viewport).,MimickingTransformations,intgluProject(GLdoubleobjx,GLdoubleobjy,GLdoubleobjz,constGLdoublemodelMatrix16,constGLdoubleprojMatrix16,constGLintviewport4,GLdouble*winx,GLdouble*winy,GLdouble*winz);,矩阵与空间转换的总结,必须明确当前所在的空间。比较明确的空间是:标准屏幕空间。-1,1x-1,1x-1,1。视点空间(以视点为原点的空间)。模型空间模型所在的空间。标准的屏幕坐标是固定的。模型空间是经常变化的。把变换分成两个阶段来考虑,分别对应两个矩阵堆栈,projection堆栈和modelview堆栈。Projection堆栈对应一个透视或正交变换。Modelview堆栈对应是把模型变换到视点空间的变换。所以在编程时要分开处理。ModelView变换是比较复杂的,它是把模型从局部空间变换到视点空间。也就是说当你发起glVertex命令的时候,必须明白当前在那个空间中。,具体解释robot例子程序,Chapter4Color,Dithering,Somegraphicshardwareusesditheringtoincreasethenumberofapparentcolors.Ditheringisthetechniqueofusingcombinationsofsomecolorstocreatetheeffectofothercolors.,Color-IndexDisplayMode,SpecifyingaColorinRGBAMode,voidglColor3bsifdubusui(TYPEr,TYPEg,TYPEb);voidglColor4bsifdubusui(TYPEr,TYPEg,TYPEb,TYPEa);voidglColor3bsifdubusuiv(constTYPE*v);voidglColor4bsifdubusuiv(constTYPE*v);,SpecifyingaColorinColor-IndexMode,voidglIndexsifdub(TYPEc);voidglIndexsifdubv(constTYPE*c);Setsthecurrentcolorindextoc.Thefirstsuffixforthiscommandindicatesthedatatypeforparameters:short,integer,float,double,orunsignedbyte.Thesecond,optionalsuffixisv,whichindicatesthattheargumentisanarrayofvaluesofthegivendatatype(thearraycontainsonlyonevalue).,SpecifyingaShadingModel,voidglShadeModel(GLenummode);Setstheshadingmodel.ThemodeparametercanbeeitherGL_SMOOTH(thedefault)orGL_FLAT.,Flat-ShadedPolygon,Chapter5Lighting,AHidden-SurfaceRemovalSurvivalKit,glEnable(GL_DEPTH_TEST);.while(1)glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);get_viewing_point_from_mouse_position();draw_3d_object_A();draw_3d_object_B();,Real-WorldandOpenGLLighting,OpenGLapproximateslightandlightingasiflightcanbebrokenintored,green,andbluecomponents.TheOpenGLlightingmodelconsidersthelightingtobedividedintofourindependentcomponents:emissive,ambient,diffuse,andspecular.Allfourcomponentsarecomputedindependentlyandthenaddedtogether.,Ambient,Diffuse,andSpecularLight,Ambientilluminationislightthatsbeenscatteredsomuchbytheenvironmentthatitsdirectionisimpossibletodetermine-itseemstocomefromalldirections.Thediffusecomponentisthelightthatcomesfromonedirection,soitsbrighterifitcomessquarelydownonasurfacethanifitbarelyglancesoffthesurface.specularlightcomesfromaparticulardirection,andittendstobounceoffthesurfaceinapreferreddirection.,MaterialColors,TheOpenGLlightingmodelmakestheapproximationthatamaterialscolordependsonthepercentagesoftheincomingred,green,andbluelightitreflects.Materialshavedifferentambient,diffuse,andspecularcolors,whichdeterminetheambient,diffuse,andspecularreflectancesofthematerial.AmaterialsambientreflectanceiscombinedwiththeambientcomponentofeachincominglightsourceAmbientanddiffusereflectancesdefinethecolorofthematerialandaretypicallysimilarifnotidentical.Specularreflectanceisusuallywhiteorgray,sothatspecularhighlightsendupbeingthecolorofthelightsourcesspecularintensity.Ifyouthinkofawhitelightshiningonashinyredplasticsphere,mostofthesphereappearsred,buttheshinyhighlightiswhite.emissivecolordoesnotintroduceanyadditionallightintotheoverallscene,RGBValuesforLightsandMaterials,Foralight,thenumberscorrespondtoapercentageoffullintensityforeachcolor.Formaterials,thenumberscorrespondtothereflectedproportionsofthosecolors.ifanOpenGLlighthascomponents(LR,LG,LB),andamaterialhascorrespondingcomponents(MR,MG,MB),then,ignoringallotherreflectivityeffects,thelightthatarrivesattheeyeisgivenby(LR*MR,LG*MG,LB*MB).,ASimpleExample:RenderingaLitSphere,Definenormalvectorsforeachvertexofalltheobjects.Thesenormalsdeterminetheorientationoftheobjectrelativetothelightsources.Create,select,andpositiononeormorelightsources.Createandselectalightingmodel,whichdefinesthelevelofglobalambientlightandtheeffectivelocationoftheviewpoint(forthepurposesoflightingcalculations).Definematerialpropertiesfortheobjectsinthescene.,CreatingLightSources,voidglLightif(GLenumlight,GLenumpname,TYPEparam);voidglLightifv(GLenumlight,GLenumpname,TYPE*param);Createsthelightspecifiedbylight,whichcanbeGL_LIGHT0,GL_LIGHT1,.,orGL_LIGHT7.,DefaultValuesforpnameParameterofglLight*(),LightPosition,directionallightsourceGLfloatlight_position=1.0,1.0,1.0,0.0;glLightfv(GL_LIGHT0,GL_POSITION,light_position);positionallightsourceGLfloatlight_position=1.0,1.0,1.0,1.0;glLightfv(GL_LIGHT0,GL_POSITION,light_position);,Attenuation,Sinceadirectionallightisinfinitelyfaraway,itdoesntmakesensetoattenuateitsintensityoverdistance,soattenuationisdisabledforadirectionallight.However,youmightwanttoattenuatethelightfromapositionallight.OpenGLattenuatesalightsourcebymultiplyingthecontributionofthatsourcebyanattenuationfactor:whered=distancebetweenthelightspositionandthevertexkc=GL_CONSTANT_ATTENUATIONkl=GL_LINEAR_ATTENUATIONkq=GL_QUADRATIC_ATTENUATION,Spotlights,Spotlightfunction,GL_SPOT_CUTOFFisrestrictedtobeingwithintherange0.0,90.0(unlessithasthespecialvalue180.0).glLightf(GL_LIGHT0,GL_SPOT_CUTOFF,45.0);Youalsoneedtospecifyaspotlightsdirection,whichdeterminestheaxisoftheconeoflight:GLfloatspot_direction=-1.0,-1.0,0.0;glLightfv(GL_LIGHT0,GL_SPOT_DIRECTION,spot_direction);Bydefault,thedirectionis(0.0,0.0,-1.0),Also,keepinmindthataspotlightsdirectionistransformedbythemodelviewmatrixjustasthoughitwereanormalvector,andtheresultisstoredineyecoordinates.settheGL_SPOT_EXPONENTparameter,whichbydefaultiszero,tocontrolhowconcentratedthelightis.Thelightsintensityishighestinthecenterofthecone.Itsattenuatedtowardtheedgesoftheconebythecosineoftheanglebetweenthedirectionofthelightandthedirectionfromthelighttothevertexbeinglit.,MultipleLights,GLfloatlight1_ambient=0.2,0.2,0.2,1.0;GLfloatlight1_diffuse=1.0,1.0,1.0,1.0;GLfloatlight1_specular=1.0,1.0,1.0,1.0;GLfloatlight1_position=-2.0,2.0,1.0,1.0;GLfloatspot_direction=-1.0,-1.0,0.0;glLightfv(GL_LIGHT1,GL_AMBIENT,light1_ambient);glLightfv(GL_LIGHT1,GL_DIFFUSE,light1_diffuse);glLightfv(GL_LIGHT1,GL_SPECULAR,light1_specular);glLightfv(GL_LIGHT1,GL_POSITION,light1_position);glLightf(GL_LIGHT1,GL_CONSTANT_ATTENUATION,1.5);glLightf(GL_LIGHT1,GL_LINEAR_ATTENUATION,0.5);glLightf(GL_LIGHT1,GL_QUADRATIC_ATTENUATION,0.2);glLightf(GL_LIGHT1,GL_SPOT_CUTOFF,45.0);glLightfv(GL_LIGHT1,GL_SPOT_DIRECTION,spot_direction);glLightf(GL_LIGHT1,GL_SPOT_EXPONENT,2.0);glEnable(GL_LIGHT1);,ControllingaLightsPositionandDirection,OpenGLtreatsthepositionanddirectionofalightsourcejustasittreatsthepositionofageometricprimitive.whenglLight*()iscalledtospecifythepositionorthedirectionofalightsource,thepositionordirectionistransformedbythecurrentmodelviewmatrixandstoredineyecoordinates.,KeepingtheLightStationary,glViewport(0,0,(GLsizei)w,(GLsizei)h);glMatrixMode(GL_PROJECTION);glLoadIdentity();if(w=h)glOrtho(-1.5,1.5,-1.5*h/w,1.5*h/w,-10.0,10.0);elseglOrtho(-1.5*w/h,1.5*w/h,-1.5,1.5,-10.0,10.0);glMatrixMode(GL_MODELVIEW);glLoadIdentity();/*laterininit()*/GLfloatlight_position=1.0,1.0,1.0,1.0;glLightfv(GL_LIGHT0,GL_POSITION,position);,IndependentlyMovingtheLight,rotateortranslatethelightpositionsothatthelightmovesrelativetoastationaryobjectstaticGLdoublespin;voiddisplay(void)GLfloatlight_position=0.0,0.0,1.5,1.0;glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);glPushMatrix();gluLookAt(0.0,0.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0);glPushMatrix();glRotated(spin,1.0,0.0,0.0);glLightfv(GL_LIGHT0,GL_POSITION,light_position);glPopMatrix();glutSolidTorus(0.275,0.85,8,15);glPopMatrix();glFlush();,MovingtheLightSourceTogetherwithYourViewpoint(minershat),GLfloatlight_position()=0.0,0.0,0.0,1.0;glViewport(0,0,(GLint)w,(GLint)h);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluPerspective(40.0,(GLfloat)w/(GLfloat)h,1.0,100.0);glMatrixMode(GL_MODELVIEW);glLoadIdentity();glLightfv(GL_LIGHT0,GL_POSITION,light_position);,SelectingaLightingModel,TheOpenGLnotionofalightingmodelhasthreecomponents:TheglobalambientlightintensityWhethertheviewpointpositionislocaltothesceneorwhetheritshouldbeconsideredtobeaninfinitedistanceawayWhetherlightingcalculationsshouldbeperformeddifferentlyforboththefrontandbackfacesofobjects,glLightModel,voidglLightModelif(GLenumpname,TYPEparam);voidglLightModelifv(GLenumpname,TYPE*param);,GlobalAmbientLight,GLfloatlmodel_ambient=0.2,0.2,0.2,1.0;glLightModelfv(GL_LIGHT_MODEL_AMBIENT,lmodel_ambient);evenifyoudontaddaspecificlightsourcetoyourscene,youcanstillseetheobjectsinthescene.,LocalorInfiniteViewpoint,Thelocationoftheviewpointaffectsthecalculationsforhighlightsproducedbyspecularreflectance.glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER,GL_TRUE);Thiscallplacestheviewpointat(0,0,0)ineyecoordinates.Toswitchbacktoaninfiniteviewpoint,passinGL_FALSEastheargument.,Two-sidedLighting,glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,GL_TRUE);,DefiningMaterialProperties,voidglMaterialif(GLenumface,GLenumpname,TYPEparam);voidglMaterialifv(GLenumface,GLenumpname,TYPE*param);Specifiesacurrentmaterialpropertyforuseinlightingcalculations.facecanbeGL_FRONT,GL_BACK,orGL_FRONT_AND_BACKtoindicatewhichfaceoftheobjectthematerialshouldbeappliedto.,材料前后面定义的属性值,DiffuseandAmbientReflection,Diffusereflectanceplaysthemostimportantroleindeterminingwhatyouperceivethecolorofanobjecttobe.Itsaffectedbythecoloroftheincidentdiffuselightandtheangleoftheincidentlightrelativetothenormaldirection.Thepositionoftheviewpointdoesntaffectdiffusereflectanceatall.Forreal-worldobjects,diffuseandambientreflectancearenormallythesamecolor.Forthisreason,OpenGLprovidesyouwithaconvenientwayofassigningthesamevaluetobothsimultaneouslywithglMaterial*():GLfloatmat_amb_diff=0.1,0.5,0.8,1.0;glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff),SpecularReflection,Specularreflectionfromanobjectproduceshighlights.Unlikeambientanddiffusereflection,theamountofspecularreflectionseenbyaviewerdoesdependonthelocationoftheviewpoint-itsbrightestalongthedirectangleofreflection.GLfloatmat_specular=1.0,1.0,1.0,1.0;GLfloatlow_shininess=5.0;glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);glMaterialfv(GL_FRONT,GL_SHININESS,low_shininess);0.0,128.0toGL_SHININESS,Emission,ByspecifyinganRGBAcolorforGL_EMISSION,youcanmakeanobjectappeartobegivingofflightofthatcolor.GLfloatmat_emission=0.3,0.2,0.2,0.0;glMaterialfv(GL_FRONT,GL_EMISSION,mat_emission);,ChangingMaterialProperties,material.cAnothertechniqueforminimizingperformancecostsassociatedwithchangingmaterialpropertiesistouseglColorMaterial().voidglColorMaterial(GLenumface,GLenummode);Causesthematerialproperty(orproperties)specifiedbymodeofthespecifiedmaterialface(orfaces)specifiedbyfacetotrackthevalueofthecurrentcoloratalltimes.Achangetothecurrentcolor(usingglColor*()immediatelyupdatesthespecifiedmaterialproperties.ThefaceparametercanbeGL_FRONT,GL_BACK,orGL_FRONT_AND_BACK(thedefault).ThemodeparametercanbeGL_AMBIENT,GL_DIFFUSE,GL_AMBIENT_AND_DIFFUSE(thedefault),GL_SPECULAR,orGL_EMISSION.Atanygiventime,onlyonemodeisactive.glColorMaterial()hasnoeffectoncolor-indexlighting.,glColorMaterial,glEnable(GL_COLOR_MATERIAL);glColorMaterial(GL_FRONT,GL_DIFFUSE);/*nowglColor*changesdiffusereflection*/glColor3f(0.2,0.5,0.8);/*drawsomeobjectshere*/glColorMaterial(GL_FRONT,GL_SPECULAR);/*glColor*nolongerchangesdiffusereflection*/*nowglColor*changesspecularreflection*/glColor3f(0.9,0.0,0.2);/*drawotherobjectshere*/glDisable(GL_COLOR_MATERIAL);例子:colormat.c,TheMathematicsofLighting,vertexcolor=thematerialemissionatthatvertex+theglobalambientlight*thematerialsambientpropertyatthatvertex+theambient,diffuse,andspecularcontributionsfromallthelightsources,properlyattenuatedAfterlightingcalculationsareperformed,thecolorvaluesareclamped(inRGBAmode)totherange0,1.,Lightingequation,Chapter9TextureMapping,Texturesaresimplyrectangulararraysofdata-forexample,colordata,luminancedata,orcolorandalphadata.Theindividualvaluesinatexturearrayareoftencalledtexels.Whatmakestexturemappingtrickyisthatarectangulartexturecanbemappedtononrectangularregions,andthismustbedoneinareasonableway.,StepsinTextureMapping,Tousetexturemapping,youperformthesesteps.Createatextureobjectandspecifyatextureforthatobject.Indicatehowthetextureistobeappliedtoeachpixel.Enabletexturemapping.Drawthescene,supplyingbothtextureandgeometriccoordinates.,Texture-MappedCheckerboard,看例子。Checker.c,SpecifyingtheTexture,voidglTexImage2D(GLenumtarget,GLintlevel,GLintinternalFormat,GLsizeiwidth,GLsizeiheight,GLintborder,GLenumformat,GLenumtype,constGLvoid*pixels);pixelscontainsthetexture-imagedata.Thisdatadescribesthetextureimageitselfaswellasitsborder.,缩放图片,intgluScaleImage(GLenumformat,GLintwidthin,GLintheightin,GLenumtypein,constvoid*datain,GLintwidthout,GLintheightout,GLenumtypeout,void*dataout);,framebufferasasourcefortexturedata,voidglCopyTexImage2D(GLenumtarget,GLintlevel,GLintinternalFormat,GLintx,GLinty,GLsizeiwidth,GLsizeiheight,GLintborder);,TextureProxy,Aspecialplaceholder,orproxy,foratextureimageallowstheprogramtoquerymoreaccuratelywhetherOpenGLcanaccommodateatextureofadesiredinternalformat.glGetIntegerv(GL_MAX_TEXTURE_SIZE,.)isnotenoughTousetheproxytoqueryOpenGL,callglTexImage2D()withatargetparameterofGL_PROXY_TEXTURE_2Dandthegivenlevel,internalFormat,width,height,border,format,andtype.,QueryTextureResources,voidglGetTexLevelParameterifv(GLenumtarget,GLintlevel,GLenumpname,TYPE*params);Example9-2:GLintformat;glTexImage2D(GL_PROXY_TEXTURE_2D,0,GL_RGBA8,64,64,0,GL_RGBA,GL_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届兰州石化分公司高校毕业生春季招聘40人笔试历年参考题库附带答案详解
- 2025中国华电集团清洁能源有限公司华南分公司面向华电系统内公开招聘1人笔试历年参考题库附带答案详解
- 2026年度品牌联名活动策划函(8篇范文)
- 2026年哈尔滨银行总行专业岗位社会招聘12人笔试参考试题及答案详解
- 南欧智能城市行业市场发展探讨及投资评估规划分析
- 中国强化木地板市场营运态势分析及前景发展规划研究报告
- 2026重庆建筑工程职业学院考核招聘8笔试备考题库及答案详解
- 中国镀锌板行业供需趋势及投资风险研究报告
- 教育文化艺术行业市场现状供需分析及投资评估规划分析研究报告
- 中国监管事务外包服务行业市场发展趋势与前景展望战略研究报告
- 2026版糖尿病酮症酸中毒标准化护理流程与临床实践指南课件
- 2026届高考语文专题复习:“铅笔与橡皮:在错误中成长”作文导写
- 检验科采血培训
- 交通运输航运公司航运实习生实习报告
- 2023版马克思主义基本原理课后思考题答案
- 参郁宁神片-临床药品应用解读
- 智能微电网课件
- 旅行社接待合同范本
- 中医科主任个人述职报告
- (2025年版)慢性创面外用生长因子的临床专家共识
- 彩钢瓦屋面施工方案及规范
评论
0/150
提交评论