【OpenGL】OpenGL基本庫,OpenGL實用庫及OpenGL實用函式工具包之間的差別
OpenGL中的gl庫是核心庫,glu是實用庫,glut是實用工具庫。
gl是核心,glu是對gl的部分封裝,glut是OpenGL的跨平臺工具庫。
gl中包含了最基本的3D函式,而glu似乎對gl的輔助,如果算數好,不用glu的情況下,也是可以做出同樣的效果。
glut是基本的視窗介面,如果不喜歡用glut可以用MFC和Win32視窗等代替,但是glut是跨平臺的,這就保證了我們編出的程式是跨平臺的,如果用MFC或者Win32只能在windows作業系統上使用。選擇OpenGL的一個很大原因就是因為它的跨平臺性,所以我們可以儘量的使用glut庫。
GLUT 不是 OpenGL 所必須的,但它會給我們的學習帶來一定的方便。
首先,需要包含標頭檔案#include <GL/glut.h>,這是 GLUT 的標頭檔案。本來 OpenGL 程式一般還要包含<GL/gl.h>和<GL/glu.h>,但 GLUT 的標頭檔案中已經自動將這兩個檔案包含了,不必再次包含。
各種庫
opengl 實用庫 : 43個函式,以glu開頭,包括紋理對映、座標變換、多邊形分化、繪製一些如橢球、圓柱、茶壺等簡單多邊形實體部分函式象核心函式一樣在任何OpenGL平臺都可以應用。
opengl輔助庫: 31個函式,以aux 開頭。
OpenGL函式庫相關的API有核心庫(gl)、實用庫(glu)、輔助庫(aux)、實用工具庫(glut)、視窗庫(glx、agl、 wgl)和擴充套件函式庫等。
gl是核心,glu是對gl的部分封裝。
glx、agl、wgl 是針對不同視窗系統的函式。
glut是為跨平臺的OpenGL程式的工具包,比aux功能強大。
幾種常見的“奇異”標頭檔案:
<GL/glaux.h>:GLAUX(OpenGL輔助庫)所使用的函式和常量宣告。目前這個庫已經過時,只有比較少的編譯環境中有提供,例如VC系列。在VC系列編譯器中,使用這個標頭檔案之前必須使用#include <windows.h>或者具有類似功能的標頭檔案。<GL/glext.h>:擴充套件標頭檔案。因為微軟公司對OpenGL的支援不太積極,VC系列編譯器雖然有<GL/gl.h>這個標頭檔案,但是裡面只有OpenGL 1.1版本中所規定的內容,而沒有OpenGL 1.2及其以後版本。對當前的計算機配置而言,幾乎都支援OpenGL 1.4版本,更高的則到1.5, 2.0, 2.1,而VC無法直接使用這些功能。為了解決這一問題,就有了 <GL/glext.h>標頭檔案。這個標頭檔案提供了高版本OpenGL所需要的各種常數宣告以及函式指標宣告。
<GL/wglext.h>:擴充套件標頭檔案。與<GL/glext.h>類似,但這個標頭檔案中只提供適用於Windows系統的各種OpenGL擴充套件所使用的函式和常量,不適用於其它作業系統。
相關推薦
【OpenGL】OpenGL基本庫,OpenGL實用庫及OpenGL實用函式工具包之間的差別
OpenGL中的gl庫是核心庫,glu是實用庫,glut是實用工具庫。 gl是核心,glu是對gl的部分封裝,glut是OpenGL的跨平臺工具庫。 gl中包含了最基本的3D函式,而glu似乎對gl的輔助,如果算數好,不用glu的情況下,也是可以做出同樣的效果。 g
【Python】抓取淘寶數據庫月報,發送郵件,本地存檔,保存元信息
epo 平臺 如果 更改 config 查詢 color into all 用途 定期抓取淘寶數據庫月報 發送郵件,保存到本地,最好是git中 發送元數據到mysql中,後期可以做成接口集成到運維平臺中,便於查詢 使用方式 # 下載(必須) cd ~ &&
【轉】IP透視攝像頭,基本可以實現(講透視的原理,濾光片很重要)
首先,必須承認視訊是假的,但是,玩過DV的朋友應該都知道一款SONY的機器DSC-F7xx系列吧,還有個別DC支援夜間拍照模式的也可以,當然,機器原廠出來是不可能透視的,但是經過改裝後就完全不一樣了. 如果群裡有公安搞刑偵的朋友應該很清楚,因為那是他們破案的工具之一,比如,一個很重要的
【Java】編寫一個方法,實現基本的字串壓縮功能
利用重複字元出現的次數,編寫一個方法,實現基本的字串壓縮功能。 例如,字串aabcccccaaa會變為a2b1c5a3。若壓縮後的字串沒有變短,則返回原先的字串。 StringBuffer: 如果頻繁地對字串進行拼接,直接用“+”的話會建立很多String型的物件,對伺服器
【pandas】[2] DataFrame 基礎,建立DataFrame和增刪改查基本操作(1)
作者:lianghc 地址:http://blog.csdn.net/zutsoft DataFrame 是pandas最常用的資料結構,類似於資料庫中的表,不過DataFrame不僅僅限制於2維,可以建立多維資料表。DataFrame既有行索引,也有列
【原創】開源Math.NET基礎數學類庫使用(10)C#進行基本資料統計
1 /// <summary> 2 /// 對未排序的陣列進行統計操作 警告: Methods with the Inplace-suffix may modify the data array by reordering its entries. 3 /// </su
【C++】linux下CMake生成動態連結庫,g++包含生成動態連結庫
一、前言 由於專案中要用到java呼叫C++的庫檔案,於是需要在linux下編譯連線生成動態庫,然後根據Recast官方包要先CMake生成編譯,然後在包含到自己實現的檔案,網上查了半天,坑爹沒有全面的,東拼西湊終於才明白原理,於是總結記錄分享如下。 二、CMake生
【原】不用重新編譯php 安裝gd庫,開啟xml DOMDocument 讀寫支援
由於某度眾所周知的舉動,讓我搬離寫了5年的渣度空間,準備把技術性的文章定在CSDN了。這些都是文章備份。勿怪。。鑑於最近有些抓取機器和抄襲者,把標題的【原】字都複製,我不得不宣告:本文為 yukon12345原創,轉載請註明出處http://blog.csdn.net/yu
【轉】PHP開發經驗之談,看了受益非淺
his 則表達式 處理 手冊 調用 緩存系統 字符串操作函數 如果能 諸多 用單引號代替雙引號來包含字符串,這樣做會更快一些。因為PHP會在雙引號包圍的字符串中搜尋變量,單引號則不會,註意:只有echo能這麽做,它是一種可以把多個字符串當作參數的“函數”(譯註:PHP手冊中
【hihocoder】sam1-基本概念
upd printf std getch coder get log mem 基本 這題有毒…… 原本只是想復習下sam,於是寫…… 後來發現自己傻了不知道怎麽維護endpos…… 一氣之下直接kmp拉倒,mdzz UPD:現在我好像會維護endpos了…… #i
【EF】EF Code First Migrations數據庫遷移
for .config lan generic help cat png first lec 1、EF Code First創建數據庫 新建控制臺應用程序Portal,通過程序包管理器控制臺添加EntityFramework。 在程序包管理器控制臺中執行以下語句,安
【轉載】WEBRTC基本介紹
webrtc 數據流 應用 帶寬 工作 ogl 回聲 real 明顯 “WebRTC,名稱源自網頁實時通信(Web Real-Time Communication)的縮寫,是一個支持網頁瀏覽器進行實時語音對話或視頻對話的技術,是谷歌2010年以6820萬美元收購
【轉】手摸手,帶你用vue擼後臺 系列二(登錄權限篇)
userinfo ogr abort 變化 再次 狀態碼 quest -o 監聽 前言 拖更有點嚴重,過了半個月才寫了第二篇教程。無奈自己是一個業務猿,每天被我司的產品虐的死去活來,之前又病了一下休息了幾天,大家見諒。 進入正題,做後臺項目區別於做其它的項目,權限驗證與
【python】ftp連接,主被動,調試等級
login 打開 blog pat 連接 rom down .tar.gz 服務器 示例代碼如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import os from ftplib import FTP de
【Python3】print用逗號,write用加號
nbsp int pre python3 col cda pri pytho write print("\n", Gb[u], "\t",IDlist[u],end="") f.write("\n"+ Gb[u]+"\t"+IDlist[u]) 【Python3】prin
【javascript】異步編年史,從“純回調”到Promise
條件 one org 場景 存在 gofunc ges 語句 += 異步和分塊——程序的分塊執行 一開始學習javascript的時候, 我對異步的概念一臉懵逼, 因為當時百度了很多文章,但很多各種文章不負責任的把籠統的描述混雜在一起,讓我對
【java】java反射機制,動態獲取對象的屬性和對應的參數值,並屬性按照字典序排序,Field.setAccessible()方法的說明【可用於微信支付 簽名生成】
modifier 直接 this 字段值 1-1 讓我 toupper ima play 方法1:通過get()方法獲取屬性值 package com.sxd.test.controller; public class FirstCa{ private
MT【97】三元基本不等式秒解一道三元不等式
es2017 技術 lin round 基本 com 技術分享 itl tle MT【97】三元基本不等式秒解一道三元不等式
【windows】windows系統下,在任務管理器的進程選項卡中查看PID/任務管理器怎麽查看PID
分享圖片 圖片 技術 啟動 最大值 成功 9.png mage 選擇列 PID,就是windows上的進程ID,是一個進程的唯一標識值。 那今天啟動JDK跑起來一個項目之後,想要在任務管理器中查看這個JDK所在進程的PID但是看不到。 怎麽解決? 1.我在任務管理
【BZOJ5109】[CodePlus 2017]大吉大利,晚上吃雞! 最短路+拓撲排序+DP
image truct getc https 絕地求生 我們 mes iterator == 【BZOJ5109】[CodePlus 2017]大吉大利,晚上吃雞! Description 最近《絕地求生:大逃殺》風靡全球,皮皮和毛毛也迷上了這款遊戲,他們經常組隊玩