开篇

这里是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 准备(开题)的更多相关文章

  1. 【转】OPENGL基本API概述

    本文信息资源来源于网络,欢迎转载!转载时请保留本文链接(http://www.shopliyang.com.cn/)! OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核 ...

  2. OpenGL显示图片

    最近想用C++在windows下实现一个基本的图像查看器功能,目前只想到了使用GDI或OpenGL两种方式.由于实在不想用GDI的API了,就用OpenGL的方式实现了一下基本的显示功能. 用GDAL ...

  3. 小菜学Chromium之OpenGL学习之二

    在这个教程里,我们一起来玩第一个OpenGL程序.它将显示一个空的OpenGL窗口,可以在窗口和全屏模式下切换,按ESC退出.它是我们以后应用程序的框架. 在CodeBlock里创建一个新的GLUT ...

  4. OpenGL的API函数使用手册

    (一)OpenGL函数库 格式: <库前缀><根命令><可选的参数个数><可选的参数类型> 库前缀有 gl.glu.aux.glut.wgl.glx.a ...

  5. 【OpenGL】VS2010环境配置 [转]

    基于OpenGL标准开发的应用程序运行时需有动态链接库OpenGL32.DLL.Glu32.DLL,这两个文件在安装Windows NT时已自动装载到C:\WINDOWS\SYSTEM32目录下(这里 ...

  6. OpenGL(二)——函数库简述

    简述 1. OpenGL用到的库分为OpenGL核心库.OpenGL实用库.OpenGL辅助库和OpenGL工具库(不是必须) 2. OpenGL核心库 核心库包含有115个函数,函数名的前缀为gl ...

  7. OpenGL(一)——入门学习

    概要 1. 为什么使用OpenGL 2. 在VS2008上搭建环境 3. 一个简单的例程 OpenGL相较于DirectX的优越性 1. 与C语言紧密结合 OpenGL命令最初就是用C语言函数来进行描 ...

  8. [OpenGL] 1、环境搭建及最小系统

    >_<: 首先推荐一个企业版的VC6.0自带OpenGL和DirectX,非常方便:http://pan.baidu.com/s/1mgIAGi8 PS: 要注意这里的OpenGL建立的工 ...

  9. OpenGL 简介

    OpenGL是一个底层图形库规范.它为程序员提供了一个小的几何图元(点.线.多边形.图片和位图)库和一个支持2D/3D几何对象绘图命令库,通过所提供的图元和命令来控制对象的呈现(绘图). 由于Open ...

随机推荐

  1. SSM框架整合(Spring+SpringMVC+Mybatis)

    第一步:创建maven项目并完善项目结构  第二步:相关配置 pom.xml 引入相关jar包 1 <properties> 2 <project.build.sourceEncod ...

  2. [bug] SpringBoot 集成 jsp,访问时页面报Whitelabel Error Page

    参考 https://bbs.csdn.net/topics/392187702

  3. 【BIGDATA】ElasticSearch HEAD插件的GET请求的坑

    今使用HEAD插件,发现复杂查询功能下,使用GET请求有坑. 查询语句如下: GET kk/_search { "query": { "match": { &q ...

  4. 一、python入门练习题

    题目: 练习1:华氏温度转摄氏温度. 练习2:输入圆的半径计算计算周长和面积. 练习3:输入年份判断是不是闰年. 答案: 练习1: """ 将华氏温度转换为摄氏温度 F ...

  5. LNAMP架构项目一

    一.第一阶段 假设:公司初期只有一台web服务器,搭建Web服务器的脚本如下: 1 #检查环境 2 setenforce 0 &> /dev/null 3 sed -i s/=enfor ...

  6. CCproxy 代理上网

    相信有些同学在工作过程中遇到过公司内网环境无法上网的情况,下面给大家介绍一下CCproxy代理上网的配置 场景:linux虚拟机通过CCproxy代理访问外网 环境:只能访问内网的linux环境,可以 ...

  7. Gorm入门使用

    Gorm GORM CRUD 数据库的增删改查 go get -u github.com/jinzhu/gorm go get -u github.com/jinzhu/gorm/dialects/m ...

  8. win7 32位系统 安装node.js最新版本遇到的问题

    win7   32位是安装不了10.0以上版本的node.js的 ,因为10.0以上版本的node.js已经不对win7 32位的电脑进行维护更新了,如果你的电脑是win7 32位系统的话,只能下载安 ...

  9. GO学习-(10) Go语言基础之指针

    Go语言基础之指针 区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针. 要搞明白Go语言中的指针需要先知道3个概念:指针地址.指针类型和指针取值. Go语言中的指针 任何程序数 ...

  10. Hashing散列注意事项

    Hashing散列注意事项 Numba支持内置功能hash(),只需__hash__()在提供的参数上调用成员函数即可 .这使得添加对新类型的哈希支持变得微不足道,这是因为扩展APIoverload_ ...