日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows10+VS2019+OpenGL安装配置详解

發布時間:2024/8/1 windows 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows10+VS2019+OpenGL安装配置详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

零基礎入門OpenGL之安裝配置

Windows10+VS2019+OpenGL安裝配置步驟


Windows10+VS2019+OpenGL安裝配置步驟

    • **零基礎入門OpenGL之安裝配置**
    • VS2019簡介
    • VS2019的分類
      • 1.個人版:Visual Studio Community
      • 2.專業版:Visual Studio Professional
      • 3.企業版:Visual Studio Enterprise
  • OpenGL簡介
  • 一、VS2019下載與安裝
    • 1.Visual Studio 2019下載
    • 2.相關配置安裝
    • 3.安裝位置一般情況可以選擇默認的位置(也可以根據自己需求存放其他位置,這里我更改為到F盤存放),隨后點擊安裝即可!
    • 4.安裝完成進入界面
    • 5.創建項目,并命名(這里我命名為main),并指定存儲位置
    • 6.創建完成之后如圖所示
  • 二、OpenGL安裝配置
    • 1.下載GLFW
    • 2.下載FreeGLUT
    • 3.安裝nupengl
    • 4.導入依賴
    • 5.測試用例


VS2019簡介

Microsoft Visual Studio(簡稱VS)是美國微軟公司的開發工具包系列產品。VS是一個基本完整的開發工具集,它包括了整個軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。所寫的目標代碼適用于微軟支持的所有平臺,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。
Visual Studio是最流行的Windows平臺應用程序的集成開發環境。最新版本為 Visual Studio 2019 版本,基于.NET Framework 4.8 。

VS2019的分類

1.個人版:Visual Studio Community

該版本僅供個人使用免費、功能完備的可擴展工具,面向構建非企業應用程序的開發人員。visual studio 2019 官方正式版授權:免費版,軟件大小:4.89GB,語言:簡體中文;Visual Studio 2019 是微軟開發的一款功能強大的IDE編輯器,visual studio 2019可完美開發;Windows、iOS 和 Android 程序,并且visual studio 2019 已內置安卓模擬器,讓開發人員不必為跨平臺的程序運行所煩惱。

2.專業版:Visual Studio Professional

售價1,199 美元,專業開發人員工具和服務,面向單個開發人員或小團隊。visual studio 2019 旗艦版 官方正式版授權:免費版,軟件大小:7.79GB語言:簡體中文;visual studio 2019 旗艦版功能強大,可直接編輯windows android ios 應用程序,新版本內含集成的設計器、編輯器、調試器和探查器,采用 C 、C++、JavaScript、Python、TypeScript、Visual Basic、F 等進行編碼。

3.企業版:Visual Studio Enterprise

售價5,999 美元,具備高級功能的企業級解決方案(包括高級測試和 DevOps),面向應對各種規模或復雜程度項目的團隊。大小:18GBVisual Studio 使你能夠準確、高效地編寫代碼,并且不會丟失當前的文件上下文。 可以輕松地放大到詳細信息,例如調用結構、相關函數、簽入和測試狀態。 還可以利用功能來重構、識別和修復代碼問題。通過利用 Microsoft、合作伙伴和社區提供的工具、控件和模板,擴展 Visual Studio 功能。 通過構建擴展來根據喜好進行進一步操作和自定義。在任意提供商(包括 GitHub)托管的 Git 存儲庫中管理源代碼。 也可以使用 Azure DevOps 管理整個項目的代碼、bug 和工作項。使用 Visual Studio 調試程序,通過代碼的歷史數據可跨語言快速查找并修復 bug,無論是在本地還是遠程。 利用分析工具發現并診斷性能問題,無需離開調試工作流。

OpenGL簡介

OpenGL是一種圖形應用程序編程接口(Application Programming Interface,API)。它是一種可以對圖形硬件設備特性進行訪問的軟件庫,OpenGL被設計為一個現代化的、硬件無關的接口,因此我們可以在不考慮計算機操作系統或窗口系統的前提下,在多種不同的圖形硬件系統上,完全通過軟件的方式實現OpenGL的接口。OpenGL自身并不包含任何執行窗口任務或者處理用戶輸入的函數,也沒有提供任何用于表達三維物理模型,或者讀取圖像文件(例如PNG、JPEG文件)的操作,一個用來渲染圖像的OpenGL程序需要執行的主要操作如下:

. 從OpenGL的幾何圖元中設置數據,用于構建形狀
. 使用不同的著色器(shader)對輸入的圖元數據執行計算操作,判斷它們的位置,顏色,以及其他渲染屬性
. 將輸入圖元的數學描述轉換為與屏幕位置對應的像素片元(fragment)。這一步也成為光柵化(rasterization),OpenGL的片元若最終渲染為圖像,那它就是像素。
. 最后,針對光柵化過程產生的片元,執行片元著色器(fragment shader),從而決定這個片元的最終顏色和位置
. 如果有必要,還需要對每個片元執行一些額外的操作,例如判斷片元對應的對象是否可見,或者將片元的顏色與當前屏幕位置的顏色進行融合


本文是對Windows10環境下,安裝Visual Studio 2019,對OpenGL進行環境搭建配置

一、VS2019下載與安裝

1.Visual Studio 2019下載

鏈接地址:https://visualstudio.microsoft.com/zh-hans/vs/

2.相關配置安裝

根據自己需要,可以選擇相關需求配置(可以多選備用自己將來需求),這里單純的想用VS2019寫C/C++代碼,選擇C++的桌面開發即可

3.安裝位置一般情況可以選擇默認的位置(也可以根據自己需求存放其他位置,這里我更改為到F盤存放),隨后點擊安裝即可!

4.安裝完成進入界面

5.創建項目,并命名(這里我命名為main),并指定存儲位置

6.創建完成之后如圖所示


可能會有彈出需要你登錄的界面,這里可以直接注冊一個Microsoft賬號就可以了,注冊是免費的!如果你不登錄Microsoft賬號的話你只能試用30天,登錄了Microsoft賬號就可以永久使用啦!

二、OpenGL安裝配置

1.下載GLFW

GLFW下載鏈接:http://glew.sourceforge.net/
(此處下載的是32-bit Windows binaries,因為VS2019是在本地x86環境下編譯的)

解壓下載好的壓縮文件,將include文件夾中的GL文件夾內的頭文件,全部拷貝到F:\VS_document\VC\Tools\MSVC\14.29.30037\include\GL中(這里的VS_document是自己創建存放的文件夾命名)

將glew-2.1.0-win32\glew-2.1.0\bin\Release下的Win32內的dll文件拷貝到F:\VS_document\VC\Tools\MSVC\14.29.30037\bin的Hostx64的x86文件夾內和Hostx86的x86文件夾內
同理,將glew-2.1.0-win32\glew-2.1.0\bin\Release下的x64內的dll文件拷貝到F:\VS_document\VC\Tools\MSVC\14.29.30037\bin的Hostx64的x64文件夾內和Hostx86的x64文件夾內

將glew-2.1.0-win32\glew-2.1.0\lib\Release下的Win32內的lib文件拷貝到F:\VS_document\VC\Tools\MSVC\14.29.30037\lib的x86文件夾內
將glew-2.1.0-win32\glew-2.1.0\lib\Release下的x64內的lib文件拷貝到F:\VS_document\VC\Tools\MSVC\14.29.30037\lib的x64文件夾內

2.下載FreeGLUT

下載FreeGLUT鏈接地址:https://www.transmissionzero.co.uk/software/freeglut-devel/


將下載后的文件解壓,將include文件夾內的GL文件夾內的其他頭文件全部拷貝到F:\VS_document\VC\Tools\MSVC\14.29.30037\include\GL中

同理,將lib文件和dll文件按照glew的安裝文件夾路徑分別安裝即可。
下面便是配置文件存放到GL下的配置

3.安裝nupengl

進入VS2019,點擊項目,管理NuGet程序包,在左邊瀏覽欄目里搜索nupengl,安裝它們

4.導入依賴

進入VS2019,右鍵之前創建的main項目(右側),選擇屬性->鏈接器->輸入,將freeglut.lib;glew32.lib;glfw3.lib;OpenGL32.lib;復制到附加依賴項中

5.測試用例

代碼如下:

#include <windows.h> #include <gl/glut.h> #include <math.h> #define GL_PI 3.1415f float fMoonRot = 0.0f; float fAdamRot = 0.0f; float fEarthRot = 0.0f; float fMarsRot = 0.0f; float fMarsatellite1 = 0.0f; float fMarsatellite2 = 0.0f; float fHesperRot = 0.0f; float fJupiterRot = 0.0f; float fSaturnRot = 0.0f; float fSaturn1 = 0.0f; float fUranusRot = 0.0f; float fNeptuneRot = 0.0f;GLfloat whiteLight[] = { 0.2f,0.2f,0.2f,1.0f }; GLfloat lightPos[] = { 0.0f,0.0f,0.0f,1.0f };void sun() {//繪制太陽 glColor3ub(255, 50, 0);glDisable(GL_LIGHTING); //關閉光源 glutSolidSphere(25.0f, 200.0f, 200.0f);glEnable(GL_LIGHTING); //啟動光源 glLightfv(GL_LIGHT0, GL_POSITION, lightPos); } void Adam() {//繪制水星 glPushMatrix();glColor3ub(0, 0, 255);glRotatef(fAdamRot, 0.0f, 1.0f, 0.0f);glTranslatef(30.0f, 0.0f, 0.0f);glutSolidSphere(2.0f, 200.0f, 200.0f); //水星半徑是地球的40% 即2 fAdamRot += 4.152f; //水星公轉周期為地球24.08% ,即4.152 if (fAdamRot >= 365.0f)fAdamRot = 0.0f;glPopMatrix(); } void Hesper() {//繪制金星 glPushMatrix();glColor3ub(255, 215, 0);glRotatef(fHesperRot, 0.0f, 1.0f, 0.0f);glTranslatef(40.0f, 0.0f, 0.0f);glutSolidSphere(4.75f, 200.0f, 200.0f); //金星半徑是地球的95% 即4.75 fHesperRot += 1.62f; //金星公轉周期為地球61.56% ,即1.62 if (fHesperRot >= 365.0f)fHesperRot = 0.0f;glPopMatrix(); } void Earth_Moon() {//繪制地球,所有運行參數以地球為標準 glPushMatrix();glColor3ub(0, 0, 255);glRotatef(fEarthRot, 0.0f, 1.0f, 0.0f);glTranslatef(55.0f, 0.0f, 0.0f); //設地球周期365 glutSolidSphere(5.0f, 20.0f, 20.0f); //設地球半徑5 //根據基于地球的坐標進行旋轉,并繪制月球 glColor3ub(200, 200, 200);glRotatef(fMoonRot, 0.0f, 1.0f, 0.0f);glTranslatef(5.0f, 0.0f, 0.0f); // 不斷平移fMoonRot += 13.3f; //月球的公轉周期 27.3 天 365/27.3==13.3 if (fMoonRot >= 365.0f) // 月球半徑是地球的3/11 即1.363 fMoonRot = 0.0f;glutSolidSphere(1.363f, 200.0f, 200.0f);glPopMatrix(); //出棧后值變化,要在下一次循環中才有效 fEarthRot += 1.0f;if (fEarthRot >= 365.0f)fEarthRot = 0.0f; }void Mars() {//繪制火星glPushMatrix();glColor3ub(255, 0, 0);glRotatef(fMarsRot, 0.0f, 1.0f, 0.0f);glTranslatef(65.0f, 0.0f, 0.0f);glutSolidSphere(2.65f, 200.0f, 200.0f); //火星半徑是地球的53% 即2.65glPushMatrix();//根據基于火星的坐標進行旋轉,并繪制火衛一 glColor3ub(255, 100, 100);glRotatef(fMarsatellite1, 0.0f, 1.0f, 0.0f);glTranslatef(2.0f, 0.0f, 2.0f);fMarsatellite1 += 13.3f;if (fMarsatellite1 >= 365.0f)fMarsatellite1 = 0.0f;glutSolidSphere(0.963f, 200.0f, 200.0f);glPopMatrix();glPushMatrix();//根據基于火星的坐標進行旋轉,并繪制火衛二 glColor3ub(255, 200, 200);glRotatef(fMarsatellite2, 0.0f, 1.0f, 0.0f);glTranslatef(-3.0f, 0.0f, -3.0f);fMarsatellite2 += 13.3f;if (fMarsatellite2 >= 365.0f)fMarsatellite2 = 0.0f;glutSolidSphere(1.20f, 200.0f, 200.0f);glPopMatrix();fMarsRot += 0.5f; //火星公轉周期為地球2倍if (fMarsRot >= 365.0f)fMarsRot = 0.0f;glPopMatrix(); }void Jupiter() {//繪制木星 glPushMatrix();glColor3ub(200, 100, 0);glRotatef(fJupiterRot, 0.0f, 1.0f, 0.0f);glTranslatef(100.0f, 0.0f, 0.0f);glutSolidSphere(17.0f, 200.0f, 200.0f); //木星半徑是地球的11.21倍 即56.05 為了美觀,定為17 glPushMatrix();glColor3ub(250, 180, 0);glRotatef(70.0f, 1.0f, 0.0f, 0.0f); //環旋轉70度 glutSolidTorus(1.42, 20, 10, 100); //效果上看,第一個參數是圓環的寬度glPopMatrix();fJupiterRot += 0.15f; //木星公轉周期為地球11.87倍 ,即0.084 為了明顯,設為0.15if (fJupiterRot >= 365.0f)fJupiterRot = 0.0f;glPopMatrix(); } void Saturn() {//繪制土星 glPushMatrix();glColor3ub(73, 60, 32);glRotatef(fSaturnRot, 0.0f, 1.0f, 0.0f);glTranslatef(148.0f, 0.0f, 0.0f);glutSolidSphere(15.0f, 200.0f, 200.0f); //土星半徑是地球的9.45倍 即47.25 為了美觀,定為15 //繪制土衛一glPushMatrix();glColor3ub(255, 200, 200);glRotatef(fSaturn1, 0.0f, 1.0f, 0.0f);glTranslatef(-17.0f, 0.0f, -17.0f);fSaturn1 += 6.4f;if (fSaturn1 >= 365.0f)fSaturn1 = 0.0f;glutSolidSphere(1.20f, 200.0f, 200.0f);glPopMatrix();glPushMatrix();glColor3ub(200, 200, 100);glRotatef(70.0f, 1.0f, 0.0f, 0.0f); //環旋轉70度 glutSolidTorus(1.42, 25, 10, 100); //效果上看,第一個參數是圓環的寬度glPopMatrix();fSaturnRot += 0.03f; //土星公轉周期為地球29.47倍 ,即0.03 if (fSaturnRot >= 365.0f)fSaturnRot = 0.0f;glPopMatrix(); } void UranusRot() {//繪制天王星 glPushMatrix();glColor3ub(0, 180, 100);glRotatef(fUranusRot, 0.0f, 1.0f, 0.0f);glTranslatef(202.0f, 0.0f, 0.0f);glutSolidSphere(15.0f, 200.0f, 200.0f); //天王星半徑是地球的倍 即4.01,即15 glPushMatrix();glColor3ub(0, 100, 0);glRotatef(150.0f, 1.0f, 0.0f, 0.0f); //環旋轉度 glutSolidTorus(1.0, 20, 10, 100); //效果上看,第一個參數是圓環的寬度glPopMatrix();fUranusRot += 0.03f; //天王星公轉周期為地球84.06倍 ,即0.0124 if (fUranusRot >= 365.0f)fUranusRot = 0.0f;glPopMatrix(); }void Neptune() {//繪制海王星 glPushMatrix();glColor3ub(0, 0, 215);glRotatef(fNeptuneRot, 0.0f, 1.0f, 0.0f);glTranslatef(240.0f, 0.0f, 0.0f);glutSolidSphere(19.45f, 200.0f, 200.0f); //海王星半徑是地球的倍 即3.89,即19.45 fNeptuneRot += 2.17f; //天王星公轉周期為地球46%倍 ,即2.17 if (fUranusRot >= 365.0f)fNeptuneRot = 0.0f;glPopMatrix(); } void RenderScene(void) {glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glPushMatrix();glTranslatef(0.0f, 0.0f, -300.0f);sun();Adam();Hesper();Earth_Moon();Mars();Jupiter();Saturn();UranusRot();Neptune();glPopMatrix();glutSwapBuffers(); } void ChangeSize(GLsizei w, GLsizei h) {GLfloat fAspect;if (h == 0) h = 1;glViewport(0, 0, w, h);fAspect = (GLfloat)w / (GLfloat)h;glMatrixMode(GL_PROJECTION);glLoadIdentity();gluPerspective(60.0f, fAspect, 1.0, 4000);glMatrixMode(GL_MODELVIEW);glLoadIdentity(); }void SetupRC(void) {glEnable(GL_DEPTH_TEST);glEnable(GL_COLOR_MATERIAL);glClearColor(0.0f, 0.0f, 0.0f, 1.0f);glEnable(GL_LIGHTING); //啟動光源 glLightModelfv(GL_LIGHT_MODEL_AMBIENT, whiteLight); //使用whiteLght所指定的環境光 glLightfv(GL_LIGHT0, GL_POSITION, lightPos); //0號光源的位置 glEnable(GL_LIGHT0); } void TimerFunc(int value) {glutPostRedisplay();glutTimerFunc(100, TimerFunc, 1); }int main(int argc, char* argv[]) {glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);glutInitWindowSize(800, 600);glutCreateWindow("Orthographic Projection");glutDisplayFunc(RenderScene);glutReshapeFunc(ChangeSize);SetupRC();glutTimerFunc(250, TimerFunc, 1); //自動動畫,計時器 glutMainLoop();return 0; }

該部分代碼是繪制星球的示例效果


以上便是在windows10環境下,安裝VS2019+OpenGL的詳細步驟,到此安裝配置完成,開啟OpenGL的學習之路吧!

總結

以上是生活随笔為你收集整理的Windows10+VS2019+OpenGL安装配置详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。