使用CMakeLists.txt创建一个简单的opengl程序

2023-11-11

现在流行的cmake编写工具

这篇教材主要是用cmak编写的CMakeLists.txt文件进行编译。

首先编写CMakeLists.txt文件

先找到glut,再找到opengl,然后两者和main程序进行链接,编译生成test可执行程序。

cmake_minimum_required(VERSION 2.8)
# Project Name
PROJECT(HW_OPENGL)

#########################################################
# FIND GLUT
#########################################################
find_package(GLUT REQUIRED)
include_directories(${GLUT_INCLUDE_DIRS})
link_directories(${GLUT_LIBRARY_DIRS})
add_definitions(${GLUT_DEFINITIONS})
if(NOT GLUT_FOUND)
    message(ERROR " GLUT not found!")
endif(NOT GLUT_FOUND)
#########################################################
# FIND OPENGL
#########################################################
find_package(OpenGL REQUIRED)
include_directories(${OpenGL_INCLUDE_DIRS})
link_d
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用CMakeLists.txt创建一个简单的opengl程序 的相关文章

  • 纹理的内部格式

    看下面的OpenGL函数 void glTexImage2D GLenum target GLint level GLint internalFormat GLsizei width GLsizei height GLint border
  • 帧缓冲区/颜色缓冲区?

    有人可以指出我两者是否相同吗 我的意思是我一直在阅读有关它的信息 这里的红皮书说 颜色缓冲区本身可以由多个子缓冲区组成 系统上的帧缓冲区包含所有这些缓冲区 here http glprogramming com red chapter10
  • 为什么 glClear 不清除我的屏幕?

    这是我编写的一个简单的 opengl 程序 我试图在绘制三角形之前清除屏幕 我在 init 函数中调用了 glClear 但是 它似乎无法清除屏幕 include
  • 在 QML 中控制纹理 3D 对象的不透明度

    我对 QML 中的 Qt 3D 有点陌生 我正在尝试控制 Qt 3D 的不透明度textured3D 对象 我正在使用简单qml3d https github com tripolskypetr simpleqml3d测试项目来做到这一点
  • LibGDX纹理混合与OpenGL混合功能

    在 libGdx 中 我试图创建一个成形纹理 采用完全可见的矩形纹理并将其遮罩以获得成形纹理 如下所示 在这里我在矩形上测试它 但我想在任何形状上使用它 我调查过本教程 http www learnopengles com tag addi
  • OpenGL中背景对象绘制在前景对象前面?

    为了测试目的 我们假设我画了 2 个茶壶glutSolidTeapot 像这样 glColor3f 1 0f 0 0f 0 0f Red teapot glutWireTeapot 1 0f glColor3f 0 0f 1 0f 0 0f
  • OpenGL:始终相同的颜色

    我正在 Windows 上编写一个程序 使用c opengl 2 1 and SDL我在顶点颜色方面遇到了一些问题 我在用着glColor3f设置每个顶点集的颜色 但它似乎不起作用 无论我选择什么颜色 我都会将每个顶点绘制为红色 我检查了传
  • OpenGL什么时候完成函数中指针的处理?

    OpenGL有多项功能 http www opengl org wiki GLAPI glTexSubImage2D直接获取指针 他们中有一些从这些指针读取数据 http www opengl org wiki GLAPI glBuffer
  • 延迟阴影映射 GLSL

    我目前正在实施延迟渲染管道 但我仍坚持使用阴影贴图 我已经成功地将其实施到前向管道中 我所做的步骤是 获取灯光视图中的位置 转换为光视图剪辑空间 使用 0 5 0 5 获取阴影纹理坐标 检查深度 编辑 使用新结果图像更新代码 float c
  • 如何在OpenGL中像这样绘制连接的带状线

    我想用以下方式绘制一系列连接线 GL LINE STRIP 我尝试过自己编写代码 但没有得到想要的结果 所以我来到这里 帮助我找出我错在哪里 这里我只给出我的draw 函数 glBegin GL LINE STRIP glVertex2f
  • 带有 std::vector 的 VBO

    我用 C 和 OpenGL 编写了一个模型加载器 我用过std vectors 来存储我的顶点数据 但现在我想将其传递给glBufferData 但是数据类型却截然不同 我想知道是否有办法可以相互转换std vector至已记录的const
  • 使用普通画布/文本输出更新LayeredWindow

    有没有一种方法可以使用画布在表单上绘图 然后使用 updatelayeredwindow 这样表单就不可见 但文本可见 就像只显示文本的半透明表单一样 如果没有 那么有没有办法只用画布 opengl directx 制作某种半透明形式 我想
  • 仅在发布模式下使用 glGenBuffer 时出现未处理的异常 - QT

    我在 Windows 7 上使用 Qt 4 8 发布模式编译项目时遇到了一些问题 调试时一切正常 但在发布时我收到未处理的异常 0xC0000005 访问冲突 我将范围缩小到发生这种情况的行 即生成像素缓冲区的时间 我的第一个猜测是 DLL
  • OpenGL 与 OpenCL,选择哪个以及为什么?

    哪些功能使 OpenCL 能够独特地选择 OpenGL 和 GLSL 进行计算 尽管有与图形相关的术语和不实用的数据类型 OpenGL 是否有任何真正的警告 例如 可以通过使用其他纹理将 a 渲染到纹理来完成并行函数评估 减少操作可以通过迭
  • Retina 显示屏中具有 QOpenGLWIdget 的 Qt MainWindow 显示错误大小

    我有一个 Qt 应用程序MainWindow 我嵌入一个QOpenGLWidget在里面 一切正常 直到我开始使用 Apple Retina 显示屏并在高 DPI 模式下运行我的应用程序 我的QOpenGLWidget只是它应该具有的大小的
  • 进行亚像素平移时,2D 纹理会扭曲

    我想知道一个理论推理为什么这是可能的 几何体的平移与纹理映射有何关系 我只能在进行子像素平移时注意到这种效果 如果通过整个像素平移 纹理看起来很好 我正在使用正交投影 GL CLAMP TO EDGE GL NEAREST 片段着色器是hi
  • nVidia 和 ATI 之间的 OpenGL 渲染差异

    最近 我将 ATI 驱动程序 我使用的是 HD7970 更新为最新版本 但我的 OpenGL 项目的一些对象停止工作 更重要的是 他们适用于 nVidia 最新驱动程序 在 960m 上测试 ATI 和 nVidia 渲染管道之间有什么我应
  • 如何在 OpenGL 中绘制镜像某些东西的镜子?

    根据我的理解 要在 OpenGL 中进行镜像 您基本上需要绘制场景 然后将所有内容翻转并再次绘制 只是使其通过镜子可见 从而在镜子中创建完美翻转的图像 但我看到的问题是 执行此操作时 唯一可以看到其他镜子的镜子是在前一个镜子之后渲染的镜子
  • 如何使用OpenGL数组纹理?

    我正在尝试在OpenGL中使用精灵表 通过数组纹理实现它这就是我加载纹理的方式 QImage image image load C QtProjects project images spritesheet png png const un
  • 新显卡上的 nvoglv32.dll 中的绘制调用崩溃

    几天前 由于一些硬件更改 我设置了计算机并安装了新的 Windows 8 副本 其中 我将显卡从 Radeon HD 7870 更改为 Nvidia GTX 660 再次设置 Visual Studio 11 后 我从 Github 下载了

随机推荐

  • 数据可视化——Davinci

    数据可视化 Davinci对比及功能使用 一 数据可视化 个人引用部分 1 有趣的意义 2 常规的意义 二 图形的内涵 1 图形类型 2 优秀可视化的特点 三 可视化需求分析 1 四个问题 2 三个沟通点 四 Davinci功能详解 1 可
  • 六度空间理论

    六度空间理论 什么是六度空间理论 Six Degrees of Separation 它是数学领域的一个猜想 名为Six Degrees of Separation 中文翻译包括以下几种 六度空间理论 六度分隔理论 六度分割理论或叫作小世界
  • 论文理解记录:Filter Pruning via Geometric Median for Deep Convolutional Neural Networks Acceleration

    论文核心 论文剪枝对象是卷积核 与其他论文不同点在于作者思考了 norm wise 作为卷积核重要性判断的弊端 并提出了 FPGM 算法 该算法先计算出所有卷积核的几何中心 作者把卷积核当作多维空间中的点 然后找到距离几何中心近的卷积核 并
  • robot framework 使用五:CentOS上运行robot framework 并自动发送测试结果

    操作系统版本 centos 6 0 x86 64 想要在linux上运行robot framework的测试用例 需要安装以下工具和软件 1 安装python 2 7 6 首先python version 查看系统是否装有python 并且
  • jQuery操作编辑页面,span与input标签之间的随时转换

    1 input select textarea转span var switchToSpan function console log this attr id var cId this attr id 获取当前点击input的id cons
  • IP:127.0.0.1详解,与localhost区别

    127 0 0 1 127 0 0 1是回送地址 指本地机 一般用来测试使用 回送地址 127 x x x 是本机回送地址 Loopback Address 即主机IP堆栈内部的IP地址 主要用于网络软件测试以及本地机进程间通信 无论什么程
  • AE表达式:利用wiggle和Math.sin制作蝴蝶动画

    AE表达式 利用wiggle和Math sin制作蝴蝶动画 B站链接 AE表达式 B站讲解最详细的Math表达式和蝴蝶动画制作 课程准备 蝴蝶AI素材 wiggle的用法 上次录了一节视频 链接 Math sin三角函数 函数原型 y A
  • php获取脚本执行的参数

    在看PHP文档到预定义变量时碰到了 argc和 argv 顺手记录下 getopt 从命令行参数列表中获取选项 arg getopt d n 只接收d n之后的参数 num arg n arg n 365 是得到的n后面的参数 这种属于短参
  • 流处理系统Heron——architecture

    简介 Heron是Twitter开源的分布式流处理系统 用来在Twitter内部替代Storm 它提供了和Storm兼容的API 并弥补了Storm中的不足 Storm的不足和新的需求 调试困难 在Storm中 一个topology的多个c
  • idea在maven中导入jstl无效解决办法

    第一种方法 首先在pom中添加依赖
  • Scrapy(二)翻页功能

    目录 方法一 利用框架内置函数 方法二 拼接URL 方法三 拼接简化版 Scrapy提供了很多种翻页的方式 记住其中常用的三种即可 下期会将一些CSS基本语法 这是spider pyl里设置即可 方法一 利用框架内置函数 好处 可以从自己设
  • 实例讲解Spring boot动态切换数据源

    前言 在公司的系统里 由于数据量较大 所以配置了多个数据源 它会根据用户所在的地区去查询那一个数据库 这样就产生了动态切换数据源的场景 今天 就模拟一下在主库查询订单信息查询不到的时候 切换数据源去历史库里面查询 实现效果 首先我们设置查询
  • ICASSP2020一些主题演讲

    https cmsworkshops com ICASSP2020 TechnicalProgram asp 文章目录 T 1 Machine Learning and Wireless Communications T 2 Distrib
  • 【数据挖掘】属性及其类型和数据的统计描述四分位数等详解(图文解释 超详细)

    觉得有帮助请点赞关注收藏 一 属性及其类型 属性 Attribute 是一个数据字段 表示数据对象的一个特征 在文献中 属性 维 Dimension 特征 Feature 和变量 Variable 表示相同的含义 可以在不同场合互换使用 属
  • 硬盘误删除的文件怎么恢复

    硬盘误删除的文件怎么恢复 很多小伙伴为了给电脑硬盘腾出更多的空间 都会定期去清理我们的硬盘 最常见的就是删除一些旧的不用了的文件 但有的时候会出现不小心误删文件的情况 如果第一时间发现了误删文件 通常都可以在回收站里进行还原 但如果我们连回
  • 动态规划——最大子数组

    上一篇我们用分治法已经将问题的复杂度降低了许多 但是 我们依旧不满足 于是 我们尝试用动态规划来做这道题 解题思路 对于这样一个连续和的问题 个人习惯叫做最大连续和 如果我们要用动态规划来解 首先得考虑状态和状态转移方程 如果我们把题述数组
  • 微信小程序使用npm安装第三方包miniprogram-datepicker

    小程序现在支持直接通过npm安装包了 点击这里了解更多 记录一下我自己的安装步骤及安装过程中遇到的一些问题 希望能够帮助到正在阅读此篇文章的你 直接通过在项目根目录安装miniprogram datepicker做演示 使用示例 开启 使用
  • 关于Java集合的一些技巧

    需要唯一吗 需要 Set 需要指定顺序吗 需要 TreeSet 不需要 HashSet 但是想要一个和存储一致的顺序 有序 LinkedHashSet 不需要 List 需要频繁增删吗 需要 LinkedList 不需要 ArrayList
  • 明天—家长开放日

    工作终于基本完成了 这两天忙得我呀 明天可以去参加毛毛幼儿园的家长开放日了 呵呵 不要再象上学期一样 不到十点就把我们轰出来
  • 使用CMakeLists.txt创建一个简单的opengl程序

    现在流行的cmake编写工具 这篇教材主要是用cmak编写的CMakeLists txt文件进行编译 首先编写CMakeLists txt文件 先找到glut 再找到opengl 然后两者和main程序进行链接 编译生成test可执行程序