glfw

ubuntu16.04+openMVG+openMVS官网案例重建

旧巷老猫 提交于 2020-10-04 10:15:20
建议挑选日期接近的博文来参考,因为不一样更新版本的源码版本遇到的问题不一样。步骤都是大概按照官网教程: 一、安装MVG 安装所依赖的库: Engine 3.2:参考 https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/107233049 中安装Engine 3.2.10的部分 opencv 3.2:参考 https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/88756053#t4 中安装opencv的步骤,注意里面写的是安装opencv3.1,安装时要仔细对照里面所说的每一步 QT version >= v5.4:参考: https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/103329833 这里只进行了安装,没有修改系统默认的QT ceres >=1.1:参考: https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/107289419 CMake 3.8: CGAL>=4.2: VCG:参考: https://blog.csdn.net/zdafei2010/article/details/77131563 这里,我下载的是 https:/

【游戏开发】基于VS2017的OpenGL开发环境搭建

∥☆過路亽.° 提交于 2020-08-20 09:35:29
一、简介   最近,马三买了两本有关于“计算机图形学”的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的)。俗话说得好,“工欲善其事,必先利其器”。想学习图形学和OpenGL编程必须先把开发环境搭建好,而马三只是在上学的时候稍稍做了一些基于Android平台的OpenGL开发学习,并没有搭建过OpenGL开发环境。因此在搭建过程中颇废了一番周折,也查阅了不少资料才算搭建成功,特此记录一下搭建过程,以备不时之需。 二、搭建环境 1.VS2017   这个不必多说了,基本做过开发的都会安装这个“宇宙最强IDE”了。直接去官网下载安装助手,然后安装即可。 2.GLFW库   正常来说开发进行OpenGL开发的话,glut库是必不可少的,但是马三在网上一搜啊,发现glut这个库过时了,现在比较新版的GLFW完全可以替代它。关于这些名词相关的具体介绍,我们会在稍后仔细介绍一下,我们还是先去 GLFW官网 把库下载下来。    图1:GLFW官网下载示意图 3.GLEW库   接着我们还需要下载GLEW库,众所周知,OpenGL只是一个标准,不同的显卡公司在不同的平台下对其有不同的实现,同时也是发布一些只支持自家显卡的拓展函数。通过引入glew库,我们完全可以不用理睬这些细节,安心写代码就好了。   同样还是去 GLEW的官网 下载我们所需要的内容

01VulKan——在Windows系统+NuGet环境搭建

百般思念 提交于 2020-08-14 14:11:10
1.Vulkan SDK下载 下载网址 https://vulkan.lunarg.com/sdk/home ,选择Windows平台下的最新SDK下载安装。 2.安装Vulkan,双击.exe文件 安装 3.测试 安装完成了,到安装的新形成的目录下 Bin32 运行 vkcube.exe ,测试一下安装是否成功,你的PC显卡驱动程序是否支持Vulkan,如下所示: 若出现如下图所示,则说明成功: 4. 创建Visual Studio工程并新建CPP文件 输入以下程序: #define GLFW_INCLUDE_VULKAN #include <GLFW/glfw3.h> #define GLM_FORCE_RADIANS #define GLM_FORCE_DEPTH_ZERO_TO_ONE #include <glm/vec4.hpp> #include <glm/mat4x4.hpp> #include <iostream> int main() { glfwInit(); glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); GLFWwindow* window = glfwCreateWindow(800, 600, "Vulkan window", nullptr, nullptr); uint32_t extensionCount

02Vulkan——应用程序架构与创建实例

流过昼夜 提交于 2020-08-07 21:33:49
1.总体结构 #include <vulkan/vulkan.h> #include <iostream> #include <stdexcept> #include <functional> class CApplicationTest { public: void run() { initVulkan(); mainLoop(); cleanup(); } private: void initVulkan() { } void mainLoop() { } void cleanup() { } }; int main() { CApplicationTest ApplicationTest; try { app.run(); } catch (const std::runtime_error& e) { std::cerr << e.what() << std::endl; return EXIT_FAILURE; } return EXIT_SUCCESS; } 头文件作用: 首先从 LunarG SDK 中添加 Vulkan 头文件,它提供了 Vulkan 应用程序需要的函数、结构体、和枚举。 stdexcept 和 iostream 头文件用于抛出异常信息,而 functional 头文件用于资源管理部分支持 lambda 表达式。 程序思路: 程序被封装到一个类中

OpenGL常用函数(正在更新)

可紊 提交于 2020-08-04 15:45:35
glfwInit(); 初始化glfw glfwCreateWindow 返回根据参数创建的窗口结构体 glfwMakeContextCurrent 将参数的窗口结构体链接到状态机 glfwSetFramebufferSizeCallback 当每次窗口大小发生改变就会调用第二个参数 glewInit 初始化glew glGenVertexArrays 分配VAO对象 glGenBuffers 分配VBO对象 glBindVertexArray 绑定VAO glBindBuffer 绑定VBO glBufferData 配置VBO顶点数据 glCreateShader 创建着色器对象 glShaderSource 着色器的源码 glCompileShader 编译着色器 glGetShaderInfoLog 获取着色器信息 glAttachShader 链接着色器到着色器程序 glDeleteShader 删除着色器 glVertexAttribPointer 配置顶点属性 glEnableVertexAttribArray(0); 启用顶点属性 glfwGetTime 返回从程序运行到当前秒数 glGetUniformLocation 返回uniform变量的位置 glDrawArrays 连接顶点 glfwSwapBuffers 交换缓冲区 glfwPollEvents 事件

Nuget配置VS2017+OpenGL

和自甴很熟 提交于 2020-07-26 10:59:14
1.先在VS2017新建新空项目 2.添加 NuGet 包管理器 3。如果已经有程序包源,可以新建一个包源,没有的话使用Nuget.org,下载速度较慢。 3.添加 nupengl.core 包 里面有自带的GL和GLFW 4.遇到一些在Nuget包管理下载不了的,可以离线下载,比如Glad和STDB_IMAGE,j将下载好的文件存放在nupengl.core.0.1.0.1\build\native\include下即可: 测试结果: 来源: oschina 链接: https://my.oschina.net/1024and1314/blog/4278449

Render one VAO containing two VBOs

巧了我就是萌 提交于 2020-06-16 05:15:12
问题 I'm trying to draw two triangles in a window in OpenGL 3.3. I'm using the GLFW library for the windowing system. From what I understand, I should have two VBOs (one for each triangle) and one VAO containing these two VBOs. That's what I did. However, I can't figure out what calls I should make to render these two VBOs. Indeed, whatever I do, only the first VBO (first triangle) gets drawn . The second one never shows up. int main() { GLFWwindow *window = setupWindow(); GLfloat