OpenGL学习笔记以及其它学习思考
最近是很多天都沒有寫博客了,這是一個很不好的習慣。每天學習的內容如果不進行總結的話,基本上是全都忘掉了。所以還是得堅持寫博客。
- C#編程基礎回顧
三個關鍵字:
(2):完全隱藏父類的同名函數? ?意思就是在繼承中? 子類和父類的方法同名的時候? 需要完全隱藏父類的方法時候使用
2. this:(1):指代當前類的對象? 特別是用在構造函數中? this.Name=name; 這里的this就是這個意思
(2):繼承自己的構造函數? ?(一般繼承最全的那個構造函數)
3.base: (1):繼承父類的構造函數? 用于繼承的時候
界面設計方面: (1):菜單欄有? ? 數據資源、衛星資源、服務資源、插件資源、專題空間、全球目標、資源搜索
(2):打開、影像模式、地圖模式、海圖模式、三維地形、地名管理、基礎數據設置、自動隱藏、全屏,幫助、登錄、退出
(3):工具組包含:面積量測工具、文字情報引接與組織關聯、手動校正、影像數據管理于應用、距離測量工具、空間可視域分析、全球基礎影像下載
(4):標題欄WPF、全球目標、顯示疆界線、登陸、氣象水文數據顯示、新天空盒。
不清楚的地方:? ?全屏顯示功能(也就是隱藏了工具條,將最上面的logo欄去掉)、工具組是哪一個空間來實現的?、如果實現鼠標不在控件上面就將控件的透明度降低。
?
OpenGL: 先來了解一下函數。學習了這么久的OpenGL,感覺就是在知道OpenGL的渲染流程以及各種小細節、然后就是學習各種函數
1:從緩存對象中回讀數據:glGetBUfferSubData
2:直接訪問緩存中數據:glMapBuffer(GLenum target,GLenum access)
3:執行解除映射操作:glUmMapBuffer()
4:更精確的設置訪問模式:glMapBufferRange(GLenum target,GLintptr offset, GLsizeiptr length,GLbitfiled access);
5:拋棄緩存對象中的部分或者數據:glinvalidateBufferData()? glinvalidateBufferSubData()
6:頂點規范:glVertxAttribPointer(GLuint index,GLint size,GLenum type, GLboolean normalized, GLsizei stide, const GLvoid*pointer);初始化的屬性指針索引傳入這個函數。
7:整型頂點屬性:glVertexAttribIPointer() 它不會執行自動轉換到浮點數的操作
8:雙精度頂點屬性:glVertexAttribLPointer() 它的type必須為DOUBLE
9:頂點屬性的壓縮格式:????????
10:靜態頂點屬性的規范(難理解) 每個屬性的頂點屬性可以通過glVertexAttrib*()系列參數進行設置
11:OpenGL的繪制命令 :包括兩部分
- 1:索引形式 其綁定的數據類型? GL_ELEMENT_ARRAY_BUFFER? 最基本的索引形式的繪制命令? glDrawElements(GLenum mode ,GLsizei count, GLenum type,Const GLvoid* indices)? ?使用count個元素來定義一系列幾何圖元,而元素的索引值保存在一個綁定大到?GL_ELEMENT_ARRAY_BUFFER的緩存中。indices定義了元素數組緩存中的偏移地址。此函數會從當前啟用的頂點屬性數組中讀取頂點的信息,然后使用它們來構建mode指定的圖元類型。? 使用了元素數組緩存中的索引數據來索引各個頂點屬性數組
- 2:非索引形式:? 基本的繪制命令:glDrawArrays()? 直接將緩存對象中的頂點屬性按照自身的排列順序,直接取出并使用。
?
轉載于:https://www.cnblogs.com/Audient/p/7643832.html
總結
以上是生活随笔為你收集整理的OpenGL学习笔记以及其它学习思考的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系列
- 下一篇: 移动端双指缩放、旋转