OpenGL 实用攻关 001 准备(开题)
开篇
这里是OpenGL学习中的随笔,会大致讲述定下的目标需求,思路和贴出认为的关键代码以及git仓库地址。会选择性的讲述途中遇到的陷阱,和注意点。
一些资源
笔者是windows 操作系统
VS 2019
CMake 工程文件生成工具 https://cmake.org/download/
GLFW 用于OpenGL创建窗口和处理输入
GLEW 能够简化OpenGL库函数调用的库
项目配置
可以参考链接:https://blog.csdn.net/weixin_44078311/article/details/104106462
一个解决的疑惑(翻译)
之前也有用过OpenGL的函数,有一个context的翻译是上下文 ,我真的就满头问号?
现在理解了,大概是当前的环境和对应的数据/事件。
可以先参考右键菜单Context Menu(上下文菜单).
根据我们的需要,在不同的控件右键打开菜单,所弹出的菜单和动作功能是不一样的。于是右键所在位置的控件和对应的菜单事件就分别是上下文。 那在图形学中呢,比如说
绘制一个图形,一般都需要传入一个Context(上下文环境)。
1如果是在cpu环境下,就调用cpu去进行绘制;
2如果是在gpu环境下,就调用gpu进行绘制。
传入的Context是一个对象,这个对象实现了一个接口。假设这个接口包含了一个绘制矩形的方法。
那么这个对象
在2D环境中,实现这个接口的方法,就是利用像素点通过cpu来绘制矩形。
在3D环境中,实现这个接口的方法,就是利用三角网格通过gpu来绘制矩形。
你同样是调用绘制矩形这个方法,根据传入的Context的上下文环境不同,程序做出的处理是不同的。 编程中什么是「Context(上下文)」? - 飞翔的蜗牛的回答 - 知乎
https://www.zhihu.com/question/26387327/answer/276019772
OpenGL 实用攻关 001 准备(开题)的更多相关文章
- 【转】OPENGL基本API概述
本文信息资源来源于网络,欢迎转载!转载时请保留本文链接(http://www.shopliyang.com.cn/)! OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核 ...
- OpenGL显示图片
最近想用C++在windows下实现一个基本的图像查看器功能,目前只想到了使用GDI或OpenGL两种方式.由于实在不想用GDI的API了,就用OpenGL的方式实现了一下基本的显示功能. 用GDAL ...
- 小菜学Chromium之OpenGL学习之二
在这个教程里,我们一起来玩第一个OpenGL程序.它将显示一个空的OpenGL窗口,可以在窗口和全屏模式下切换,按ESC退出.它是我们以后应用程序的框架. 在CodeBlock里创建一个新的GLUT ...
- OpenGL的API函数使用手册
(一)OpenGL函数库 格式: <库前缀><根命令><可选的参数个数><可选的参数类型> 库前缀有 gl.glu.aux.glut.wgl.glx.a ...
- 【OpenGL】VS2010环境配置 [转]
基于OpenGL标准开发的应用程序运行时需有动态链接库OpenGL32.DLL.Glu32.DLL,这两个文件在安装Windows NT时已自动装载到C:\WINDOWS\SYSTEM32目录下(这里 ...
- OpenGL(二)——函数库简述
简述 1. OpenGL用到的库分为OpenGL核心库.OpenGL实用库.OpenGL辅助库和OpenGL工具库(不是必须) 2. OpenGL核心库 核心库包含有115个函数,函数名的前缀为gl ...
- OpenGL(一)——入门学习
概要 1. 为什么使用OpenGL 2. 在VS2008上搭建环境 3. 一个简单的例程 OpenGL相较于DirectX的优越性 1. 与C语言紧密结合 OpenGL命令最初就是用C语言函数来进行描 ...
- [OpenGL] 1、环境搭建及最小系统
>_<: 首先推荐一个企业版的VC6.0自带OpenGL和DirectX,非常方便:http://pan.baidu.com/s/1mgIAGi8 PS: 要注意这里的OpenGL建立的工 ...
- OpenGL 简介
OpenGL是一个底层图形库规范.它为程序员提供了一个小的几何图元(点.线.多边形.图片和位图)库和一个支持2D/3D几何对象绘图命令库,通过所提供的图元和命令来控制对象的呈现(绘图). 由于Open ...
随机推荐
- redis分布式锁-spring boot aop+自定义注解实现分布式锁
接这这一篇redis分布式锁-java实现末尾,实现aop+自定义注解 实现分布式锁 1.为什么需要 声明式的分布式锁 编程式分布式锁每次实现都要单独实现,但业务量大功能复杂时,使用编程式分布式锁无疑 ...
- 2.Python入门-计算机组成、指令和程序、标识符、变量、数据类型、对象和变量关系、运算符
一.计算机的组成 计算机由两部分组成:硬件 和 软件 硬件包含:键盘.鼠标.显示器.CPU.主板.内存.硬盘 ... -硬件是看的见摸得着的 软件包含:系统软件(windows.macOS.Linux ...
- 002.Ansible之Inventory文件
一 简介 在使用Ansible来批量管理主机的时候,通常我们需要先定义要管理哪些主机或者主机组,而这个用于管理主机与主机组的文件就叫做Inventory,也叫主机清单.该文件默认位于/etc/ansi ...
- mysql mysqladmin常用命令
修改root密码 mysqladmin -u root -p123456 password 'YOURNEWPASSWORD' 检查mysql是否在运行 systemctl status mariad ...
- MVC、MVP和MVVM的区别
前言 在web1.0时代时,那个时候程序猿还没有前后端之分,更程序员开发的时候,都是要前后端一起写的,前后端的代码都是杂揉在一起,如图下 这种开发模式的话,开发的时候因为不需要和其他人员沟通协作,前后 ...
- GO学习-(1) why go?
为什么你应该学习Go语言? 终于等到你!Go语言--让你用写Python代码的开发效率编写C语言代码. 为什么互联网世界需要Go语言 世界上已经有太多太多的编程语言了,为什么又出来一个Go语言? 硬件 ...
- 单线程service服务
1.@Service修饰类名,同时类继承Thread类 @Service public class MasterSchedulerService extends Thread { /** * logg ...
- java 常见OPTS参数的含义
1. -XX:MaxPermSize=256m -XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配 2. java.awt.headless Headless模式是系统的 ...
- ADAS摄像头图像环视拼接算法
ADAS摄像头图像环视拼接算法 输入输出接口 Input: (1)4个摄像头采集的图像视频分辨率 (整型int) (2)4个摄像头采集的图像视频格式 (RGB,YUV,MP4等) (3)摄像头标定参数 ...
- AIFramework基本概念整理
AIFramework基本概念整理 本文介绍: 对天元 MegEngine 框架中的 Tensor, Operator, GradManager 等基本概念有一定的了解: 对深度学习中的前向传播.反向 ...