国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

這篇具有很好參考價(jià)值的文章主要介紹了Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

最近工作需要 需要寫一個(gè)全景的視頻播放器

網(wǎng)上搜了下大概解決方案是 ffmpeg+opengl

b站有很多視頻? 按照視頻 搭建了OpenGL的開發(fā)環(huán)境

先去GLFW的網(wǎng)站下載 windows平臺(tái)的庫(kù)文件

為什么使用GLFW? 因?yàn)镚LFW是跨平臺(tái)的? ?我下的是64位版本解壓后有目錄如下

?Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

?包含了動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù) 這里我們使用靜態(tài)庫(kù) mt那個(gè)是multithread 多線程版本的Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

An OpenGL library | GLFW

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

打開VS 新建一個(gè)控制臺(tái)的新項(xiàng)目

添加一個(gè)main.cpp文件

添加以下代碼

#include "glfw3.h"

int main(void)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);
        glBegin(GL_TRIANGLES);

        glVertex2f(-0.5f,-0.5f);
        glVertex2f(0.0f, 0.5f);
        glVertex2f(0.5f, -0.5f);
        
        glEnd();


        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

項(xiàng)目工程目錄

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

?Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

?Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

?工作目錄添加了一個(gè)3rd的目錄用來(lái)存放第三方的庫(kù)這里使用的是靜態(tài)庫(kù)glfw3.lib

設(shè)置工程屬性 添加頭文件目錄 C/C++ 常規(guī)

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

?添加lib庫(kù)目錄 如下 鏈接器常規(guī)那里

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

?設(shè)置lib庫(kù)文件名 這里主要是glfw3.lib 和 opengl32.libVisual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

F5 直接編譯運(yùn)行? 出來(lái)如下三角形窗口 到此opengl的環(huán)境就搭建好了

?Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

后來(lái)看到教程又說(shuō) 上面的方法調(diào)用的opengl是比較老的版本? 需要用到一個(gè)glew或者glad的東西來(lái) 用

去這里下載glew 直接選擇編譯好的二進(jìn)制版本

The OpenGL Extension Wrangler Library download | SourceForge.net

解壓過(guò)后如下圖

還是使用靜態(tài)庫(kù)

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

引入頭文件? 之后的步驟和之前一致? 修改下代碼

#include "glew.h"
#include "glfw3.h"


#include   <iostream>

int main(void)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

 

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    if (glewInit() != GLEW_OK)
    {
        std::cout << "glewInit failed" << std::endl;
    }


    std::cout << glGetString(GL_VERSION);
     

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);
        glBegin(GL_TRIANGLES);

        glVertex2f(-0.5f,-0.5f);
        glVertex2f(0.0f, 0.5f);
        glVertex2f(0.5f, -0.5f);
        
        glEnd();


        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

但是我試了 不管 加不加glew? 打印的版本都是 如下

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

20230509 更新增加GLAD內(nèi)容

根據(jù)中文的文檔內(nèi)容

創(chuàng)建窗口 - LearnOpenGL CN (learnopengl-cn.github.io)

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

進(jìn)入GLAD官網(wǎng)

https://glad.dav1d.de

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

?我選擇最新的4.6版本 opengl core模式

點(diǎn)擊Generate之后? 生成了一個(gè)zip包 下載這個(gè)壓縮包

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

新建一個(gè)空的項(xiàng)目?

添加對(duì)應(yīng)的文件 和 依賴項(xiàng) 之后? main.cpp改成如下代碼

#include "glad/glad.h"
#include "glfw3.h"

void framebuffer_size_callback(GLFWwindow* window, int width, int height);
void processInput(GLFWwindow* window);

// settings
const unsigned int SCR_WIDTH = 800;
const unsigned int SCR_HEIGHT = 600;

int main()
{
    // glfw: initialize and configure
    // ------------------------------
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

#ifdef __APPLE__
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
#endif

    // glfw window creation
    // --------------------
    GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "LearnOpenGL", NULL, NULL);
    if (window == NULL)
    {
        std::cout << "Failed to create GLFW window" << std::endl;
        glfwTerminate();
        return -1;
    }
    glfwMakeContextCurrent(window);
    glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);

    // glad: load all OpenGL function pointers
    // ---------------------------------------
    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
    {
        std::cout << "Failed to initialize GLAD" << std::endl;
        return -1;
    }

    // render loop
    // -----------
    while (!glfwWindowShouldClose(window))
    {
        // input
        // -----
        processInput(window);

        // render
        // ------
        glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);

        // glfw: swap buffers and poll IO events (keys pressed/released, mouse moved etc.)
        // -------------------------------------------------------------------------------
        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    // glfw: terminate, clearing all previously allocated GLFW resources.
    // ------------------------------------------------------------------
    glfwTerminate();
    return 0;
}

// process all input: query GLFW whether relevant keys are pressed/released this frame and react accordingly
// ---------------------------------------------------------------------------------------------------------
void processInput(GLFWwindow* window)
{
    if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
        glfwSetWindowShouldClose(window, true);
}

// glfw: whenever the window size changed (by OS or user resize) this callback function executes
// ---------------------------------------------------------------------------------------------
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{
    // make sure the viewport matches the new window dimensions; note that width and 
    // height will be significantly larger than specified on retina displays.
    glViewport(0, 0, width, height);
}

能夠正常顯示如下窗口了?

Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-435037.html

到了這里,關(guān)于Visual Studio 2022 搭建GLFW OpenGL開發(fā)環(huán)境的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • FBX SDK 開發(fā)環(huán)境配置 visual studio 2022

    FBX SDK 開發(fā)環(huán)境配置 visual studio 2022

    FBX | Adaptable File Formats for 3D Animation Software | Autodesk. 下載windows的sdk并安裝. 創(chuàng)建一個(gè)c++ console 工程 設(shè)置include目錄 添加預(yù)處理宏?FBX_SHARED=1 添加fbx sdk lib 目錄 添加依賴lib :? libfbxsdk-md.lib libxml2-md.lib zlib-md.lib 配置完畢.

    2024年02月10日
    瀏覽(39)
  • visual studio 2022 社區(qū)版 c# 環(huán)境搭建及安裝使用【圖文解析-小白版】

    visual studio 2022 社區(qū)版 c# 環(huán)境搭建及安裝使用【圖文解析-小白版】

    首先,進(jìn)入其官網(wǎng)下載對(duì)應(yīng)的visual studio社區(qū)版本,官網(wǎng)鏈接: https://visualstudio.microsoft.com/zh-hans/ 雙擊.exe文件進(jìn)行安裝: 大概20GB左右,需要耐心等待 選擇安裝的組件,c#和.net以及一些擴(kuò)展 安裝位置不建議更改,改了容易出現(xiàn)問(wèn)題。 選擇完畢后,點(diǎn)擊安裝 安裝完畢,稍后其會(huì)自

    2023年04月09日
    瀏覽(58)
  • Visual Studio 2022使用CMake+MinGW+Clang+LLDB作為開發(fā)環(huán)境

    Visual Studio 2022使用CMake+MinGW+Clang+LLDB作為開發(fā)環(huán)境

    筆者前面寫了兩篇關(guān)于Visual Studio 2022使用MinGW的博文:《Visual Studio 2022使用MinGW來(lái)編譯調(diào)試C/C++程序》、《Visual Studio 2022 CMake+MinGW+GDB 調(diào)試目標(biāo)程序》,這兩篇博文都是介紹的是GCC+GDB的編譯與調(diào)試,本文筆者介紹的則是Clang+LLDB的編譯與調(diào)試。讀完本文,讀者可以在GCC、Clang與

    2024年02月06日
    瀏覽(37)
  • 基于 Visual Studio 配置 opengl 環(huán)境

    基于 Visual Studio 配置 opengl 環(huán)境

    Visual Studio 2022 glfw glad Visual Studio 2022 打開鏈接,看到如下界面: 傻瓜式安裝即可,如果不知道需要安裝什么環(huán)境,可以什么都不裝。 glfw 打開鏈接,看到如下界面: 注意下載 win32 版本。 glad 打開鏈接,看到如下界面: 選擇上述內(nèi)容后,點(diǎn)擊 generate。跳轉(zhuǎn)后下載出現(xiàn)的安裝包

    2024年02月05日
    瀏覽(22)
  • Visual Studio 2017下的C++開發(fā)環(huán)境搭建

    Visual Studio 2017下的C++開發(fā)環(huán)境搭建

    Visual?Studio?是Microsoft旗下的開發(fā)工具包系列產(chǎn)品,是一個(gè)基本完整的開發(fā)工具集,它包括整個(gè)軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發(fā)環(huán)境(IDE)等等,是最流行的Windows平臺(tái)應(yīng)用程序的集成開發(fā)環(huán)境。 Visual Studio?適用于 Windows 上 .NET?和 C++ 開

    2024年02月13日
    瀏覽(40)
  • 【C# 基礎(chǔ)精講】C# 開發(fā)環(huán)境搭建(Visual Studio等)

    【C# 基礎(chǔ)精講】C# 開發(fā)環(huán)境搭建(Visual Studio等)

    安裝C#開發(fā)環(huán)境是開始學(xué)習(xí)和使用C#編程的第一步。目前,最常用的C#開發(fā)環(huán)境是Microsoft Visual Studio,它是一套強(qiáng)大的集成開發(fā)環(huán)境(IDE),提供了豐富的工具和功能,使開發(fā)C#應(yīng)用程序變得更加便捷。以下是安裝Visual Studio的簡(jiǎn)單步驟: 步驟1:下載Visual Studio 訪問(wèn)Microsoft官方網(wǎng)

    2024年02月14日
    瀏覽(51)
  • C語(yǔ)言學(xué)習(xí)1--------Visual Studio集成開發(fā)環(huán)境的搭建

    C語(yǔ)言學(xué)習(xí)1--------Visual Studio集成開發(fā)環(huán)境的搭建

    建議初學(xué)者適用最新的——Visual Studio 2019為集成開發(fā)環(huán)境。 部分學(xué)??赡苷谶m用——VC++6.0,全稱是Visual C++6.0。在當(dāng)今的角度來(lái)看,VC++6.0已經(jīng)比較古老,幾乎沒有公司會(huì)以VC++6.0作為開發(fā)環(huán)境進(jìn)行開發(fā)了。 可能有些人認(rèn)為Visual Studio太過(guò)龐大,并且項(xiàng)目組織較為復(fù)雜,不太適

    2024年02月08日
    瀏覽(26)
  • MatlabR2022b + Visual Studio環(huán)境配置

    MatlabR2022b + Visual Studio環(huán)境配置

    在Matlab中輸入 mex -setup c++ 命令確認(rèn)MEX使用VS2022編譯環(huán)境。 VC++目錄-包含目錄-添加 D:Matlab2022bexterninclude VC++目錄-庫(kù)目錄-添加 D:Matlab2022bexternlibwin64mingw64 D:Matlab2022bexternlibwin64microsoft 鏈接器-輸入-添加 D:Matlab2022bexternlibwin64mingw64libmat.lib D:Matlab2022bexternlibwin64mingw

    2024年02月10日
    瀏覽(55)
  • 如何在Visual Studio 2022中配置OpenCV環(huán)境

    如何在Visual Studio 2022中配置OpenCV環(huán)境

    Visual Studio下載鏈接 Open CV下載鏈接 注意:環(huán)境配置所有流程中使用到的路徑均為個(gè)人下載安裝軟件對(duì)應(yīng)路徑?。?【高級(jí)系統(tǒng)配置】——【環(huán)境變量】——【系統(tǒng)變量-Path】 ? ? ??????????雙擊【Path】,進(jìn)入后點(diǎn)擊【新建】,輸入紅框中所示路徑(路徑請(qǐng)注意修改為自己

    2024年02月08日
    瀏覽(33)
  • Visual Studio 2022 搭建跨平臺(tái) Linux 項(xiàng)目

    Visual Studio 2022 搭建跨平臺(tái) Linux 項(xiàng)目

    在平時(shí)開發(fā) Linux 項(xiàng)目時(shí),都是使用 vim 進(jìn)行編輯,當(dāng)然, vim 是一個(gè)十分強(qiáng)大的編輯器,不過(guò)在涉及到 Windows 的其它工具時(shí),又要從虛擬機(jī)切換回來(lái),雖然有快捷鍵,但是,很是不爽。 另外通過(guò)這種方法,VS 還提供了代碼提示等功能。 甚至可以將 Linux 驅(qū)動(dòng)開發(fā)的代碼切換到

    2024年02月08日
    瀏覽(55)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包