OPENGL GLUT庫
Source: http://dxwang.blog.51cto.com/384651/698750
OpenGL中的gl庫是核心庫,glu是實用庫,glut是實用工具庫,
gl是核心,glu是對gl的部分封裝,glut是OpenGL的跨平臺工具庫,gl中包含了最基本的3D函式,而glu似乎對gl的輔助,如果算數好,不用glu的情況下,也是可以做出同樣的效果。
glut是基本的視窗介面,是獨立於gl和glu的,如果不喜歡用glut可以用MFC和Win32視窗等代替,但是glut是跨平臺的,這就保證了我們編出的程式是跨平臺的,如果用MFC或者Win32只能在windows作業系統上使用。選擇OpenGL的一個很大原因就是因為它的跨平臺性,所以我們可以儘量的使用glut庫。
opengl 實用庫 : 43個函式,以glu開頭,包括紋理對映、座標變換、多邊形分化、繪製一些如橢球、圓柱、茶壺等簡單多邊形實體 部分函式象核心函式一樣在任何OpenGL平臺都可以應用。
opengl輔助庫: 31個函式,以aux 開頭,
OpenGL函式庫相關的API有核心庫(gl)、實用庫(glu)、輔助庫(aux)、實用工具庫(glut)、視窗庫(glx、agl、wgl)和擴充套件函式庫等。從圖1可以看出,gl是核心,glu是對gl的部分封裝。glx、agl、wgl 是針對不同視窗系統的函式。glut是為跨平臺的OpenGL程式的工具包,比aux功能強大。擴充套件函式庫是硬體廠商為實現硬體更新利用OpenGL的擴充套件機制開發的函式。下面逐一對這些庫進行詳細介紹。
1. OpenGL核心庫
核心庫包含有115個函式,函式名的字首為gl。
這部分函式用於常規的、核心的圖形處理。此函式由gl.dll來負責解釋執行。由於許多函式可以接收不同數以下幾類。據型別的引數,因此派生出來的函式原形多達300多個。核心庫中的函式主要可以分為以下幾類函式。
繪製基本幾何圖元的函式。如繪製圖元的函式glBegain()、glEnd()、glNormal*()、glVertex*()。
矩陣操作、幾何變換和投影變換的函式。如矩陣入棧函式glPushMatrix()、矩陣出棧 函式glPopMatrix()、裝載矩陣函式glLoadMatrix()、矩陣相乘函式glMultMatrix(),當前矩陣函式glMatrixMode()和矩陣標準化函式glLoadIdentity(),幾何變換函式glTranslate*()、glRotate*()和glScale*(),投影變換函式glOrtho()、glFrustum()和視口變換函式glViewport()等等。
顏色、光照和材質的函式。如設定顏色模式函式glColor*()、glIndex*(),設定光照效果的函式glLight*() 、glLightModel*()和設定材質效果函式glMaterial()等等。
顯示列表函式、主要有建立、結束、生成、刪除和呼叫顯示列表的函式glNewList()、 glEndList()、glGenLists()、glCallList()和glDeleteLists()。
紋理對映函式,主要有一維紋理函式glTexImage1D()、二維紋理函式glTexImage2D()、 設定紋理引數、紋理環境和紋理座標的函式glTexParameter*()、glTexEnv*()和glTetCoord*()等。
特殊效果函式。融合函式glBlendFunc()、反走樣函式glHint()和霧化效果glFog*()。
光柵化、象素操作函式。如象素位置glRasterPos*()、線型寬度glLineWidth()、多邊形繪製模式glPolygonMode(),讀取象素glReadPixel()、複製象素glCopyPixel()等。
選擇與反饋函式。主要有渲染模式glRenderMode()、選擇緩衝區glSelectBuffer()和反饋緩衝區glFeedbackBuffer()等。
曲線與曲面的繪製函式。生成曲線或曲面的函式glMap*()、glMapGrid*(),求值器的函式glEvalCoord*() glEvalMesh*()。
狀態設定與查詢函式。主要有glGet*()、glEnable()、glGetError()等。
2. OpenGL實用庫The OpenGL Utility Library (GLU)
包含有43個函式,函式名的字首為glu。
OpenGL提供了強大的但是為數不多的繪圖命令,所有較複雜的繪圖都必須從點。線、面開始。Glu 為了減輕繁重的程式設計工作,封裝了OpenGL函式,Glu函式通過呼叫核心庫的函式,為開發者提供相對簡單的用法,實現一些較為複雜的操作。此函式由glu.dll來負責解釋執行。OpenGL中的核心庫和實用庫可以在所有的OpenGL平臺上執行。主要包括了以下幾種。
輔助紋理貼圖函式,有gluScaleImage() 、gluBuild1Dmipmaps()、gluBuild2Dmipmaps()。
座標轉換和投影變換函式,定義投影方式函式gluPerspective()、gluOrtho2D() 、gluLookAt(),拾取投影視景體函式gluPickMatrix(),投影矩陣計算gluProject()和 gluUnProject()等等。
多邊形鑲嵌工具,有gluNewTess()、 gluDeleteTess()、gluTessCallback()、gluBeginPolygon() gluTessVertex()、gluNextContour()、gluEndPolygon()等等。
二次曲面繪製工具,主要有繪製球面、錐面、柱面、圓環面gluNewQuadric()、gluSphere()、gluCylinder()、gluDisk()、gluPartialDisk()、gluDeleteQuadric()等等。
非均勻有理B樣條繪製工具,主要用來定義和繪製Nurbs曲線和曲面,包括gluNewNurbsRenderer()、gluNurbsCurve()、gluBeginSurface()、gluEndSurface()、gluBeginCurve()、gluNurbsProperty()等函式。
錯誤反饋工具,獲取出錯資訊的字串gluErrorString().
3. OpenGL輔助庫
包含有31個函式,函式名字首為aux。
這部分函式提供視窗管理、輸入輸出處理以及繪製一些簡單三維物體。此函式由glaux.dll來負責解釋執行。建立aux庫是為了學習和編寫OpenGL程式,它更像是一個用於測試創意的預備基礎接管。Aux庫在windows實現有很多錯誤,因此很容易導致頻繁的崩潰。在跨平臺的程式設計例項和演示中,aux很大程度上已經被glut庫取代。OpenGL中的輔助庫不能在所有的OpenGL平臺上執行。
輔助庫函式主要包括以下幾類。
視窗初始化和退出函式,auxInitDisplayMode()和auxInitPosition()。
視窗處理和時間輸入函式,auxReshapeFunc()、auxKeyFunc()和auxMouseFunc()。
顏色索引裝入函式,auxSetOneColor()。
三維物體繪製函式。包括了兩種形式網狀體和實心體,如繪製立方體auxWireCube()和 auxSolidCube()。這裡以網狀體為例,長方體auxWireBox()、環形圓紋面auxWireTorus()、圓柱auxWireCylinder()、二十面體auxWireIcosahedron()、八面體auxWireOctahedron()、四面體auxWireTetrahedron()、十二面體auxWireDodecahedron()、圓錐體auxWireCone()和茶壺auxWireTeapot()。
背景過程管理函式auxIdleFunc()。
程式執行函式auxMainLoop()。
4. OpenGL工具庫 OpenGL Utility Toolkit
包含大約30多個函式,函式名字首為glut。
glut是不依賴於視窗平臺的OpenGL工具包,由Mark KLilgrad在SGI編寫(現在在Nvidia),目的是隱藏不同視窗平臺API的複雜度。 函式以glut開頭,它們作為aux庫功能更強的替代品,提供更為複雜的繪製功能,此函式由glut.dll來負責解釋執行。由於glut中的視窗管理函式是不依賴於執行環境的,因此OpenGL中的工具庫可以在X-Window, Windows NT, OS/2等系統下執行,特別適合於開發不需要複雜介面的OpenGL示例程式。對於有經驗的程式設計師來說,一般先用glut理順3D圖形程式碼,然後再整合為完整的應用程式。
這部分函式主要包括
視窗操作函式,視窗初始化、視窗大小、視窗位置等函式glutInit() glutInitDisplayMode() glutInitWindowSize() glutInitWindowPosition()等。
回撥函式。響應重新整理訊息、鍵盤訊息、滑鼠訊息、定時器函式等,GlutDisplayFunc() glutPostRedisplay() glutReshapeFunc() glutTimerFunc() glutKeyboardFunc() glutMouseFunc()。
建立複雜的三維物體。這些和aux庫的函式功能相同。建立網狀體和實心體。如glutSolidSphere()、glutWireSphere()等。在此不再敘述。
選單函式。建立新增選單的函式GlutCreateMenu()、glutSetMenu()、glutAddMenuEntry()、glutAddSubMenu() 和glutAttachMenu()。
程式執行函式,glutMainLoop()。
OPENGL中GLU和GLUT工具箱收藏
GLUT工具箱提供幾種圖形3維圖形的函式:
view plaincopy to clipboardprint?
void glutWireSphere(GLdouble radius, GLint slices, GLint stacks); 絲狀球
void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); 實心球
void glutWireCube(GLdouble size); 絲狀立方體
void glutSolidCube(GLdouble size); 實心立方體
void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius,
GLint nsides, GLint rings); 絲狀花環
void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius,
GLint nsides, GLint rings); 實心花環
void glutWireIcosahedron(void); 絲狀20面體
void glutSolidIcosahedron(void); 實心20面體
void glutWireOctahedron(void); 絲狀8面體
void glutSolidOctahedron(void); 實心8面體
void glutWireTetrahedron(void); 絲狀4面體
void glutSolidTetrahedron(void); 實心4面體
void glutWireDodecahedron(GLdouble radius); 絲狀12面體
void glutSolidDodecahedron(GLdouble radius); 實心12面體
void glutWireCone(GLdouble radius, GLdouble height, GLint slices,
GLint stacks); 絲狀圓錐體
void glutSolidCone(GLdouble radius, GLdouble height, GLint slices,
GLint stacks); 實心圓錐體
void glutWireTeapot(GLdouble size); 絲狀茶壺
void glutSolidTeapot(GLdouble size); 實心茶壺
void glutWireSphere(GLdouble radius, GLint slices, GLint stacks); 絲狀球
void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); 實心球
void glutWireCube(GLdouble size); 絲狀立方體
void glutSolidCube(GLdouble size); 實心立方體
void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius,
GLint nsides, GLint rings); 絲狀花環
void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius,
GLint nsides, GLint rings); 實心花環
void glutWireIcosahedron(void); 絲狀20面體
void glutSolidIcosahedron(void); 實心20面體
void glutWireOctahedron(void); 絲狀8面體
void glutSolidOctahedron(void); 實心8面體
void glutWireTetrahedron(void); 絲狀4面體
void glutSolidTetrahedron(void); 實心4面體
void glutWireDodecahedron(GLdouble radius); 絲狀12面體
void glutSolidDodecahedron(GLdouble radius); 實心12面體
void glutWireCone(GLdouble radius, GLdouble height, GLint slices,
GLint stacks); 絲狀圓錐體
void glutSolidCone(GLdouble radius, GLdouble height, GLint slices,
GLint stacks); 實心圓錐體
void glutWireTeapot(GLdouble size); 絲狀茶壺
void glutSolidTeapot(GLdouble size); 實心茶壺
gl 庫
繪製幾何圖形
-----------------------------
glVertex
glVertexPointer
glArrayElement
glBegin , glEnd
glEdgeFlag , glEdgeFlagv
glPointSize
glLineWidth
glLineStipple
glPolygonMode
glFrontFace
glPolygonStipple
glDrawElements
glRect
座標轉換
-----------------------------
glTranslate
glRotate
glScale
glViewPoint
glFrustum
glOrtho
glClipPlane
堆疊操作
------------------------------
glLoadMatrix
glMultMatrix
glMatrixMode
glPushMatrix , glPopMatrix
glPushAttrib , glPopAttrib
glPushName , glPopName
glInitName
glLoadName
顯示列表
-----------------------------
glNewList , glEndList
glCallList
glCallLists
glGenLists
glDeleteLists
glIsList
使用光照和材質
-----------------------------
glNormal
glNormalPointer
glLight
glLightModel
glMaterial
glColorMaterial
畫素操作
------------------------------
glRasterPos
glBitmap
glReadPixels
glDrawPixels
glCopyPixels
glCopyTexImage1D
glCopyTexImage2D
glCopyTexSubImage1D
glCopyTexSubImage2D
glPixelZoom
glPixelStore
glPixelTransfer
glPixelMap
紋理對映
-----------------------------
glTexImage1D
glTexImage2D
glTexParameter
glTexSubImage1D
glTexSubImage2D
glTexEnv
glTexCoord
glTexGen
glTexCoordPointer
glDeleteTextures
特效操作
----------------------------
glBlendFunc
glHint
glFog
幀快取操作
-----------------------------
glClear
glClearAccum
glClearColor
glClearDepth
glClearIndex
glClearStencil
glDrawBuffer
glIndexMask
glColorMask
glDepthMask
glStencilMask
glAlphaFunc
glStencilFunc
glStencilOp
glDepthFunc
glDepthRange
glLogicOp
glAccum
曲線或曲面繪製
------------------------------
glEvalCoord
glMap1
glMap2
glMapGrid
glEvalMesh
glEvalPoint
查詢函式
-----------------------------
glGet
glGetClipPlane
glGetColorTableEXT
glGetColorTableParameterfvEXT , glGetColorTableParameterivEXT
glGetError
glGetLight
glGetMap
glGetMaterial
glGetPixelMap
glGetPointerv
glGetPolygonStipple
glGetString
glGetTexEnv
glGetTexImage
glGetTexLevelParameter
glGetTexParameter
2.GLU 庫函式
繪製 NURBS 曲線和曲面
------------------------------
gluNewNurbsRenderer
gluNurbsProperty
gluNurbsCallback
gluBeginCurve , gluEndCurve
gluNurbsCurve
gluDeleteNurbsRenderer
gluBeginSurface , gluEndSurface
gluNurbsSurface
gluBeginTrim , gluEndTrim
gluPwlCurve
gluBeginPolygon , gluEndPolygon
gluPickMatrix
繪製二次幾何物體
---------------------------------
gluNewQuadric
gluQuadricDrawStyle
gluQuadricNormals
gluQuadricOrientation
gluCylinder
gluSphere
gluDisk
gluPartialDisk
gluDeleteQuadric
gluQuadricTexture
gluQuadricCallback
網格化
------------------------------
gluNewTess
gluTessVertex
gluTessCallback
gluTessBeginPolygon , gluTessEndPolygon
gluTessBeginContour , gluTessBeginContour
gluTessProperty
gluNextContour
gluTessNormal
gluDeleteTess
座標轉換
------------------------------
gluOrtho2D
gluPerspective
gluLookAt
gluProject
gluUnProject
多重對映
------------------------------
gluBuild1DMipmaps
gluBuild2DMipmaps
gluScaleImage
查詢函式
-----------------------------
gluErrorString
gluGetNurbsProperty
gluGetString
gluGetTessProperty
3.GLUT 庫函式
初始化和啟動事件處理
-------------------------
glutInit
glutInitWindowPosition
glutInitWindowSize
glutInitDisplayMode
glutMainLoop
視窗管理
-------------------------
glutCreateWindow
glutCreateSubWindow
glutHideWindow
glutShowWindow
glutSetWindowTitle
glutPostRedisplay
glutSwapBuffers
glutFullScreen
glutPositionWindow
glutReshapeWindow
glutSetWindow
glutGetWindow
glutPopWindow
glutPushWindow
glutDestroyWindow
glutIconifyWindow
glutSetCursor
重疊層管理
-------------------------
glutEstablishOverlay
glutUseLayer
glutRemoveOverlay
glutPostOverlayRedisplay
glutShowOverlay
glutHideOverlay
選單管理
-------------------------
glutCreateMenu
glutAddMenuEntry
glutAddSubMenu
glutAttachMenu
glutGetMenu
glutSetMenu
glutDestroyMenu
glutChangeToMenuEntry
glutChangeToSubMenu
glutRemoveMenuItem
glutDetachMenu
註冊回撥函式
-------------------------------
glutDisplayFunc
glutReshapeFunc
glutMouseFunc
glutMotionFunc
glutIdleFunc
glutVisibilityFunc
glutKeyboardFunc
glutSpecialFunc
glutOverlayDisplayFunc
glutPassiveMotionFunc
glutEntryFunc
glutSpaceballMotionFunc
glutSpaceballRotateFunc
glutSpaceballButtonFunc
glutButtonBoxFunc
glutDialsFunc
glutTableMotionFunc
glutTableButtonFunc
glutMenuStatusFunc
glutTimerFunc
顏色索引對映表管理
-------------------------------
glutSetColor
glutGetColor
glutCopyColormap
狀態檢索
-------------------------------
glutGet
glutLayerGet
glutDeviceGet
glutGetModifiers
glutExtensionSupported
字型繪製
-------------------------------
glutBitmapCharacter
glutBitmapWidth
glutStrokeCharacter
glutStrokeWidth
幾何圖形繪製
-------------------------------
glutSolidSphere , glutWireSphere
glutSolidCube , glutWireCube
glutSolidCone , glutWireCone
glutSolidTorus , glutWireTorus
glutSolidDodecahedron , glutWireDodecahedron
glutSolidOctahedron , glutWireOctahedron
glutSolidTetrahedron , glutWireTetrahedron
glutSolieIcosahedron , glutWireIcosahedron
glutSolidTeapot , glutWireTeapot
void glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
繪製線框球體
void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
繪製實心球體
引數:
radius:球體的半徑
slices:球體圍繞z軸分割的數目
stacks:球體沿著z軸分割的數目
繪製中心在模型座標原點,半徑為radius的球體,球體圍繞z軸分割slices次,球體沿著z軸分割stacks次
//*******************************************************************************************
void glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
繪製線框圓錐體
void glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
繪製實心圓錐體
引數:
radius:圓錐體的半徑
height:圓錐體的高
slices:圓錐體圍繞z軸分割的數目
stacks:圓錐體沿著z軸分割的數目
圓錐體的軸為z軸方向,它的基底位於z=0的平面內,頂點z=height,圓錐體圍繞z軸分割slices個數目,沿著z軸分割stacks個數目.
//*******************************************************************************************
void glutWireCube(GLdouble size);
繪製線框立方體
void glutSolidCube(GLdouble size);
繪製實心立方體
引數:size:立方體的邊長
//*******************************************************************************************
void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
繪製線框圓環
void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
繪製實心圓環
引數:
innerRadius:圓環的內半徑
outerRadius:圓環的外半徑
nsides:圓環腔的分割數
rings:圓環的環線數
//*******************************************************************************************
void glutWireDodecahedron(void);
繪製線框十二面體
void glutSolidDodecahedron(void);
繪製實心十二面體
//*******************************************************************************************
void glutWireTeapot(GLdouble size);
繪製線框茶壺
void glutSolidTeapot(GLdouble size);
繪製實心茶壺
引數:size:茶壺的相對大小
//*******************************************************************************************
void glutWireOctahedron(void);
繪製線框八面體
void glutSolidOctahedron(void);
繪製實心八面體
//*******************************************************************************************
void glutWireTetrahedron(void);
繪製線框四面體
void glutSolidTetrahedron(void);
繪製實心四面體
//*******************************************************************************************
void glutWireIcosahedron(void);
繪製線框二十面體
void glutSolidIcosahedron(void);
繪製實心二十面體
相關推薦
OPENGL GLUT庫
Source: http://dxwang.blog.51cto.com/384651/698750 OpenGL中的gl庫是核心庫,glu是實用庫,glut是實用工具庫, gl是核心,glu是對gl的部分封裝,glut是OpenGL的跨平臺工具庫,gl中包含了最基本
Qt5.9.4中配置opengl的glut庫(Windows)
Qt本身不包括glut工具庫,如果要使用glut庫,該怎麼做呢?下面來簡述一下Qt下怎麼安裝glut庫。OpenGL只是一個標準,它的實現一般自帶在作業系統裡,只要確保顯示卡驅動足夠新就可以使用。如果需
OpenGL:GLUT庫字型設定API
/* GLUT font sub-API */ GLUTAPI void APIENTRY glutBitmapCharacter(void *font, int character); /* 繪製一個影象字元 Font表示要使用的影象字型,如下表所
02->交互式圖形學--用glut庫實現Sierpinski鏤墊
一個 tro buffer nts gin 分享圖片 blog UNC win Sierpinski圖形是一類有趣的圖形,本文結合交互式圖形學教材,講解Sierpinski鏤墊圖形生成,作為入門圖形學編程的第一課。為了簡便,本文就2D來進行討論。實驗環境見01 算法 主要是
OpenGL(glut)模擬太陽系:太陽,地球,月球,火星
GitHub專案地址OpenGL(glut)模擬太陽系:太陽,地球,月球,火星 核心程式碼如下: // orgin.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。 // #include "pch.h" #include <cstdlib> #
【OpenGL】OpenGL基本庫,OpenGL實用庫及OpenGL實用函式工具包之間的差別
OpenGL中的gl庫是核心庫,glu是實用庫,glut是實用工具庫。 gl是核心,glu是對gl的部分封裝,glut是OpenGL的跨平臺工具庫。 gl中包含了最基本的3D函式,而glu似乎對gl的輔助,如果算數好,不用glu的情況下,也是可以做出同樣的效果。 g
OpenGL函式庫及配套工具集
閱讀目錄 (一)OpenGL函式庫 1、核心函式庫主要可以分為以下幾類函式 2、OpenGL實用庫(The OpenGL Utility Library)(GLU) 3、OpenGL輔助庫 4、Open
opengl 函式庫 2
曲線的基本理論 27.glMap1{f,d}(GLenum target,GLfloat u1,float u2,int stride, int order , const double * points);功能;定一個一維取值器引數說明;target 指定由求知器所生成
【OpenGL】SOIL(簡易的opengl影象庫)
一、簡介 SOIL是簡易OpenGL影象庫(Simple OpenGL Image Library)的縮寫,它支援大多數流行的影象格式,並且使用簡單。可從官網下載其原始碼:http://www.lonesock.net/soil.html 二、配置 從他們的主頁可以
OpenGL輔助庫基本使用
OpenGL是一個開放的系統,它是獨立於任何視窗系統或作業系統的。儘管它包含了許多圖形函式,但它卻沒有視窗函式,也沒有從鍵盤和滑鼠讀取事件的函式,所以要初學者寫出一個完整的圖形程式是相當困難的。另外,OpenGL圖形函式中只提供基本的幾何原形:點、線、多邊形,因此要建立基
GLUT庫與GLAUX庫
GLUT庫 為了在初期簡化程式設計負擔,可以使用獨立於平臺的GLUT庫,在網上可以找到庫、原始檔、說明書,基於GLUT的WINDOWS應用程式是WIN32 CONSOL程式,主程式是int main(int,void **),在其中可以只用兩三行開啟一個視窗,並以填寫幾個回
opengl函式庫介紹
開發基於OpenGL的應用程式,必須先了解OpenGL的庫函式。它採用C語言風格,提供大量的函式來進行圖形的處理和顯示。OpenGL庫函式的命名方式非常有規律。所有OpenGL函式採用了以下格式: <庫字首><根命令><可選的引數個數>&
VS15 openGL 編程指南 配置庫 triangle例子
技術 創建 location OS pos 設置 如果 log out 最近去圖書館借了一本書《OpenGL編程指南(原書第八版)》,今天倒騰了一天才把第一個例子運行出來。 所以,給大家分享一下,希望能快速解決配置問題。 一、下載需要的庫文件 首先,我們需要去該書的網站
03->OpenGL多邊形,glut實現三角形條帶和三角形扇
pub 技術分享 oat single 頂點 rip ++ {} void 圖形學中基本圖元是多邊形,一般要求是凸多邊形,三角形是最簡單的凸多邊形,在圖形渲染中比一般多邊形其繪制速度快。今天學習OpenGL繪制三角形條帶和三角形扇基礎。編程環境! 1. 三角形條帶 指
OpenGL學習筆記:編譯GLFW庫
環境 系統:Windows10 64位 家庭中文版 IDE:Visual Studio 2017 專業版 工具:CMake 步驟 1.安裝CMake,CMake最新安裝包:64位 32位; 2.下載GLFW原始碼包,並解壓(記住解壓的路徑,等下要用到,如:D:\glfw-3.2.
【OpenGL】-009 GLUT中處理鍵盤滑鼠事件
【OpenGL】-009 GLUT中處理鍵盤滑鼠事件 鍵盤和滑鼠是GUI程式獲取使用者輸入的重要方式,在windows程式中,通過WM_KEY_DOWN/WM_KEY_UP/WM_LBUTTONDOWN/WM_RBUTTONDOWN等訊息的響應,使用者可以方便的處理鍵盤滑鼠的輸入。在
【OpenGL】-008 GLUT中的定時器
【OpenGL】-008 GLUT中的定時器 定時器是視窗程式中的一個重要功能,用於按照固定的時間間隔之後執行某些特定動作。在window程式中,有WM_TIMER訊息進行響應。在使用GLUT進行視窗管理的程式中,如何進行定時器操作? 文章目錄 【OpenG
儲存OpenGL視窗每一幀程式碼段(freeimage庫)
儲存OpenGL視窗每一幀程式碼段(freeimage庫) char screenshotOrder[10]; sprintf_s(screenshotOrder, "%05d", screenshotNum); string screenshotName = screenshotOrder;
OpenGL開發利用lwjgl類庫繪製一個三角形
文章目錄 一、只繪製渲染視窗的程式碼 二、繪製三角形的程式碼 DrawTriangleMain類 Window類 ShaderProgram類 Model類 Re
在Opengl開發中,運用Eigen與glm數學庫時的心得體會
1, 資料矩陣的儲存區別: Eigen是按列儲存的, glm是按行儲存的; glm::mat4 m1(1); glm::mat4 m0(0);