OpenGL3:開頭篇 介紹

零.前言

雖然沒想到這麼快就開啓了OpenGL大坑,可是DirectX學得差很少了,基本內容都有過一遍,是時候二者相互對照着學了,這樣本身對圖形學的知識會更加精進一步,等後面大師級別就會學OSG和圖形學基本原理,看看論文什麼的程序員

 

一.簡介

OpenGL官網編程

 

OpenGL(Open Graphics Library,開放式圖形庫)是用於渲染2D 3D場景的跨語言跨平臺的應用編程接口(API),這個接口由350個不一樣的函數調用組成windows

因爲不一樣操做系統的差別,OpenGL上下文(相似WinSDK和MFC的關係)的建立過程和IO處理至關複雜,因此freeglut(代替再也不維護的GLUT) GLFW是專門用來建立OpenGL窗口框架

先學freeglut兼容過去的版本,再學GLFW是將來框架的趨勢函數

另外SDL QT也是用OpenGL渲染的動畫

 

OpenGL ES就是專門爲嵌入式設備設計的spa

 

WebGL主要應用於網頁上操作系統

 

OpenGL能夠在三維空間中繪製各類圖元(點 直線 多邊形等),還支持光照和着色 紋理貼圖  混合透明  動畫  特殊效果等設計

OpenGL並不包含任何窗口管理 用戶交互 文件I/O等接口

二.FreeGlut

 FreeGlut提供的函數不多,以glut開頭主要和窗口有關

#Include <freeglut.h>

真正用OpenGL渲染的函數在SDK裏面的gl.h之中,由於微軟曾經也是OpenGL的參與者之一,VC編譯器只支持OpenGL 1.1

 

OpenGL庫老是不斷髮生變換,製造圖形硬件的各個廠商均可能會增長一些新特性,因爲這些新特性太新,可能都沒有添加到gl.h中,爲了使程序員可以使用這些新的OpenGL擴展,能夠添加一個 glext.h 的頭文件(包含了全部最新版本和擴展函數以及標記)

#include "glext.h"

 固然目前我本身還沒碰到須要用這個新特性,初學者能夠先不加

 

OpenGL擴展支持庫:

調用GLX所提供的函數:#include <X11/Xlib.h>

          #include <GL/glx.h>

 

調用WGL所提供的函數:#include <windows.h>

 

三.GLFW

 

 

四.OpenGL歷史

1992年 OpenGL第一個版本

2004年 OpenGL第二個版本

相關文章
相關標籤/搜索