【VS開發】【OpenGL開發】OpenGL---Windows下配置與第一個OpenGL程式
面記錄一下Windows下配置OpenGL與我的第一個OpenGL程式。
第一步:選擇一個編譯環境
現在Windows系統的主流編譯環境有Visual Studio,Broland C++ Builder,Dev-C++等,它們都是支援OpenGL的。但這裡我選擇的是VS 2010作為學習OpenGL的環境。
第二步:安裝GLUT工具包
GLUT不是OpenGL所必須的,但它會給我們的學習帶來一定的方便,推薦安裝。
自己可以搜尋“OpenGL SDK”下載,或者到官網上下載。
OpenGL官方網站(英文)
http://www.opengl.org
Windows環境下安裝GLUT的步驟:
第三步,建立工程,其步驟如下:
(1)建立一個Win32 Console Application。(以我建立的為例,工程名為simpleGL)
(2)選擇空工程即可。
第四步,建立一個最簡單的opengl程式
[cpp] view plain copy /* * 第一個OpenGL程式. */ #define GLUT_DISABLE_ATEXIT_HACK #include<gl/GLUT.H> #include<gl/GLU.H> #include<gl/GL.H> #include <math.h> /************************************************************************ * 畫一個正弦函式曲線 * @author neng * @date ************************************************************************/ const GLfloat factor = 0.1f;//讓正弦函式比例放大 void myDisplay(void) { GLfloat x; glClear(GL_COLOR_BUFFER_BIT); //畫x,y座標 glEnable(GL_LINE_STIPPLE);//啟動虛線 glLineStipple(2,0x0F0F);//設定虛線樣式 glLineWidth(2.0f); //設定線寬 glBegin(GL_LINES); glVertex2f(-1.0f,0.0f); glVertex2f(1.0f,0.0f); glVertex2f(0.0f,-1.0f); glVertex2f(0.0f,1.0f); glEnd(); //畫正弦函式曲線 glDisable(GL_LINE_STIPPLE);//禁止虛線 glBegin(GL_LINE_STRIP); for (x=-1.0f/factor;x<1.0f/factor;x+=0.01f) { glVertex2f(x*factor,sin(x)*factor); } glEnd(); glFlush(); } int main(int argc,char *argv[]) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE); glutInitWindowPosition(100,100); glutInitWindowSize(400,400); glutCreateWindow("我的第一個OpenGL程式"); glutDisplayFunc(&myDisplay); glutMainLoop();//進行訊息迴圈 return 0; }
該程式的作用是在一個黑色的視窗中央畫一個正弦函式曲線。
下面對各行語句進行說明。
#define GLUT_DISABLE_ATEXIT_HACK 這句必須定義,否則會報錯報錯“error LNK2001: 無法解析的外部符號 [email protected]......”。 報錯原因在GLUT.h檔案中有說明。
首先,需要包含標頭檔案#include<GL/glut.h>,這是GLUT的標頭檔案。
本來OpenGL程式一般還要包含<GL/gl.h>和<GL/glu.h>,但GLUT的標頭檔案中已經自動將這兩個檔案包含了,不必再次包含。
注意main函式中的各語句,除了最後的return之外,其餘全部以glut開頭。這種以glut開頭的函式都是GLUT工具包所提供的函式,下面對用到的幾個函式進行介紹。
1、glutInit,對GLUT進行初始化。其格式比較死板,照抄glutInit(&argc, argv)就可以。
2、glutInitDisplayMode,設定顯示方式,其中GLUT_RGB表示使用RGB顏色,與之對應的還有GLUT_INDEX(表示使用索引顏色)。GLUT_SINGLE表示使用單緩衝,與之對應的還有GLUT_DOUBLE(使用雙緩衝)。
3、glutInitWindowPosition,設定視窗在螢幕中的位置。
4、glutInitWindowSize,設定視窗的大小。
5、glutCreateWindow,建立視窗。引數將被作為視窗的標題。注意:視窗被建立後,並不立即顯示到螢幕上,需要呼叫glutMainLoop才能看到視窗。
6、glutDisplayFunc,設定一個函式,當需要進行畫圖時,這個函式就會被呼叫。
7、glutMainLoop,進行一個訊息迴圈。
以gl開頭的函式都是OpenGL的標準函式。
1、glClear,清除。
2、glBegin與glEnd是一對,中間寫的是要畫的內容。
3、glFlush,保證前面的OpenGL命令立即執行(而不是讓它們在緩衝區中等待)。其作用與Java IO中類似。
相關推薦
【VS開發】【OpenGL開發】OpenGL---Windows下配置與第一個OpenGL程式
面記錄一下Windows下配置OpenGL與我的第一個OpenGL程式。 第一步:選擇一個編譯環境 現在Windows系統的主流編譯環境有Visual Studio,Broland C++ Builder,Dev-C++等,它們都是支援OpenGL的。但這裡我選擇的是V
【OpenGL】詳解第一個OpenGL程式
/////////////////////////////////////////////////////////////////////// // // triangles.cpp // ////////////////////////////////////////////////////////////
【環境配置】opencv3.x model中viz模組的配置與使用
1、配置 viz模組是opencv 中用於三維視覺化的部件,基於vtk,在編譯opencv需要使用這個模組時需要先編譯VTK。編譯VTK參考之前的部落格【環境配置】(零)vtk+vs2013+qt5 cmake時勾選 WITH_VTK,BUILD_opencv_viz:新增VTK_DIR
【python】用Notepad++編寫出第一個python程式
首先我們要安裝Notepad++ 官網下載:https://notepad-plus-plus.org/ 網盤下載:https://pan.baidu.com/s/1b3FNZ8w47HYes57YeG3KmA 提取碼: cu89 安裝簡單,選擇簡體中文安裝就好了,中間會有個配置安裝路徑
【配置】windows下配置tomcat和zookeeper為服務
最近在電腦上配置dubbo的環境,由於使用的windows的系統,所以想讓dubbo控制檯和依賴的zookeeper都常駐系統後臺,並且在我開機的時候能夠啟動,這就不得不讓我想到了吧他們作為系統的服務來啟動,這樣系統在開機的時候就可以自動執行這些服務了。一、tomcat配置為
如何編譯第一個uefi程式【轉載】
配置: win8.1 x64 + VS2013 + UDK2015 這裡略過初步的EDK原始碼編譯配置過程,在下載的UDK2015中有UDK2015-ReleaseNotes-MyWorkSpace.txt教如何搭建環境,照做完全沒有問題。 下面參考了某
【教她寫程式碼】使用Intellij建立第一個Springboot程式
首先先介紹一下Springboot:Spring是Java開發中,十分著名的一個框架。但是該框架的使用必須結合大量的XML配置檔案,這一點讓開發人員痛苦無比。Springboot是Spring官方重新構造的一個框架,將Spring的配置簡化了很多。 著名IDE,Intellij介紹:老牌的Java程式碼I
【SignalR學習系列】2. 第一個SignalR程式
新建專案 1.使用VisualStudio 2015 新建一個Web專案 2.選擇空模板 3.新增一個新的SignalR Hub Class (v2)類檔案,並修改類名為ChatHub 4.修改ChatHub程式碼 using System; using Sys
Windows下配置Objective-C開發環境
hello rtc linker ces objc 安裝 指定 lighting 如果 一、IDE的安裝(Code::Blocks) 我們選用Code::Blocks作為IDE,它的安裝包可以從網上各處下載下來,對版本無特別要求。筆者使用的是16.10的版本(鏈接: htt
windows下配置React-Native(Android)開發環境總結
首先配置環境我們需要用到以下工具: node.js react-native-cli Android Studio JDK(1.8以上) SDK python 1.安裝node.js和react-native-cli命令列工具
iOS開發:第一個iOS程式分析——AppDelegate.h檔案和檢視View、檢視控制器ViewController
在上一篇文章iOS開發:第一個iOS程式分析——代理,生命週期函式中主要介紹了iOS使用Objective-C開發的兩個主要檔案main.m和AppDelegate.m和控制程式生命週期的函式,接下來將介紹另外兩個檔案:AppDelegate.h檔案、UIViewController.m檔案和i
iOS開發:第一個iOS程式分析——代理,生命週期函式
上一篇文章中我們開發了第一個iOS應用程式,用來計算兩個整數的和,今天我們將介紹其中的兩個檔案: 1.main.m檔案 首先展開supporting Files並且開啟其下的main.m檔案,其中main函式就是應用程式的入口,main函式只是標記了一個自動釋放池自動決定何時釋放記憶體,
iOS開發:第一個iOS程式,加法計算器
相信很多學習程式設計的人,不管是學習C,C++,JAVA,還是iOS開發用的Objective-C,入門不久就迫切地想寫點看得見的介面玩玩。當然瞭解諸如iOS架構,系統層次這些是非常必要的,但是作為入門案例,我們不妨從最直觀的地方入手!! 下面開始編寫我們的第一個iOS程式: 1.使用的
後臺開發閱讀筆記——第一個C++程式
#include <>與#include ""的區別: 前者常用來包含系統提供的標頭檔案,編譯器會到儲存系統標準標頭檔案的位置查詢標頭檔案;後者常用於包括程式設計師自己編號的標頭檔案,用這種格式時,編譯器先查詢當前目錄是否有指定名稱的標頭檔案,然後從標準頭目錄中進行查詢。
[go-web開發小試驗] 1-第一個demo程式
前言 目前的go似乎值得一試。 參考 參考了網上的go web開發入門 之類的文章。 步驟 在idea上面開一個新專案,然後,嗯。。。我用的是go1.11,有module模組了,然後新增一個檔案,內容如下: package src import ( "fmt"
Java開發環境的安裝配置及在Eclipse上第一個Java程式的執行
首先,我們需要下載IDE開發環境,下面的網址 https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2018-09/Ra/eclipse-inst-win64.exe 下載完成後,執行我們會看到下面的畫面 如果預設
idea開發第一個spark程式---統計文字單詞數
在建立專案之前確保自己本地安裝好了scala環境和java環境,因為spark是scala編寫的,scala和java一樣都是需要編譯成位元組碼,然後在JVM裡面執行。我本地的scala版本是2.11.0版本,hadoop是2.7.6版本 第一步:開啟idea,然後建立一個
MyGUI3.2.0+Ogre1.8.1開發詳解之第一個MyGUI程式
mygui是一款簡單、易用的開源圖形介面開發庫,主要面向物件是遊戲的3D介面,下面是它的官方介紹 MyGUI是為遊戲和3D應用程式建立圖形使用者介面(GUI)的一個庫。 mygui的主要目標是:速度,靈活性和易用性。(出自MyGUI官網) 官方網站:http
Spark視訊王家林第3課:在IDE下開發第一個Scala程式純傻瓜式徹底透徹解析
內容: 1.控制結構 2.Scala的基礎語法 /** * FileName: HelloScala * Author: hadoop * Email: [email protected] * Date: 18-
Oracle資料庫開發必備利器之PL/SQL基礎——PL/SQL簡介和第一個PL/SQL程式
什麼是PL/SQL PL/SQL:procedure Language/SQL PL/SQL是Oracle對sql語言的過程化擴充套件,指在原有的增刪查改的基礎上,對SQL命令語言中增加了過程處理語句(如分支,迴圈等),使SQL語言具有過程處理能力。 P