E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Opengl学习
openGL学习
笔记(2):创建窗口
openGL学习
笔记(2):创建窗口首先,在main函数中调用glfwInit函数来初始化GLFW,然后可以使用glfwWindowHint函数来配置GLFW。
平土匀值
·
2020-07-29 23:57
OpenGL
Vulkan填坑学习Day10—着色器模块
Vulkan着色器模块GLSL语言可参照Learn
OpenGL学习
。
沉默的舞台剧
·
2020-07-29 22:41
vulkan
OpenGL学习
笔记——遇到的问题和解决方法
本文记录了笔者在基于VisualStudioMFC使用OpenGL时所遇到的问题及解决办法。目录在VC++的MFC中为基于对话框的工程加入OpenGL窗体问题:无法打开包括文件:“gl\glaux.h”glLoadIdentity()函数相关:OpenGL多次使用glLoadIdentity()后面的图形不显示视角设置相关:gluLookAt和gluPerspective函数解析为什么调用glPu
←海螺1996→
·
2020-07-29 18:15
Visual
Studio
MFC编程
现代 OpenGL 开发系列(01) - 现代 OpenGL 一些概念的介绍
现代OpenGL开发系列(01)-现代OpenGL一些概念的介绍很久之前就希望能写下
OpenGL学习
的心得,希望通过系列文章进一步让我对OpenGL的理解更上一层楼.1.OpenGL绘制命令的变化最初学习
summericeyl
·
2020-07-29 11:35
OpenGL
OpenGL学习
笔记(九):索引缓冲器(EBO /IBE)的理解与使用,引入线框/填充模式
原博主博客地址:http://blog.csdn.net/qq21497936本文章博客地址:http://blog.csdn.net/qq21497936/article/details/78942027《
OpenGL
红胖子(红模仿)
·
2020-07-29 10:57
Qt开发
OpenGL
图形图像处理
OpenGL学习
笔记(六)
缓冲区对象许多OpenGL操作都向OpenGL发送一大块数据,例如向它传递需要处理的顶点数组数据。传输这种数据可能非常简单,例如把数据从系统的内存中复制到图形卡。但是,由于OpenGL是按照客户机-服务器模式设计的,在OpenGL需要数据的任何时候,都必须把数据从客户机内存传输到服务器。如果数据并没有修改,或者客户机和服务器位于不同的计算机(分布式渲染),数据的传输可能会比较缓慢,或者是冗余的。O
afei198409
·
2020-07-29 09:00
opengl
OpenGL学习
随笔(四)-- 顶点着色器(VertexShader)
顶点着色器对顶点实现了一种通用的可编程方法。顶点着色器的输入数据由下面组成:Attributes:使用顶点数组封装每个顶点的数据,一般用于每个顶点都各不相同的变量,如顶点位置、颜色等。Uniforms:顶点着色器使用的常量数据,不能被着色器修改,一般用于对同一组顶点组成的单个3D物体中所有顶点都相同的变量,如当前光源的位置。Samplers:这个是可选的,一种特殊的uniforms,表示顶点着色器
weixin_30929295
·
2020-07-28 17:37
OpenGL学习
之路(1)
原地址:https://learnopengl-cn.github.io/01%20Getting%20started/01%20OpenGL/一、基本概念状态机OpenGL自身是一个巨大的状态机(StateMachine):一系列的变量描述OpenGL此刻应当如何运行。OpenGL的状态通常被称为OpenGL上下文(Context)。我们通常使用如下途径去更改OpenGL状态:设置选项,操作缓冲
Marx_W
·
2020-07-28 11:24
OpenGL
从0开始的
OpenGL学习
(十二)-材质
本文主要解决一个问题:如何使用材质控制光照效果?引言真实世界里,每个物体对光的反射属性都不同。铁轮子永远都比木轮子要闪亮。物体对于镜面高光的反应也不同。有些物体没有太多散射,就呈现出一个集中的亮斑;有些物体的散射多,就不会有那么小那么亮的亮斑了。如何描述物体的这些特性,我们就需要一个新的概念,那就是:材质!材质之前的章节中,我们指定了物体和光源的颜色,用环境光强度和散射光强度来物体的反射属性。使用
闪电的蓝熊猫
·
2020-07-15 11:26
OpenGL学习
脚印:背面剔除(Face Culling)
写在前面在绘制封闭类型的几何对象时,开启背面剔除功能能够提高渲染性能。本节简要介绍下背面剔除,示例程序可以在我的github下载。什么是背面剔除当我们观察场景中对象时,一般只能以一定角度来观察,那么对象的某些面我们是看不到的,例如你观察一个立方体,最多只能同时看到3个面,有时只能看到1个面,而我们绘制时如果不采取剔除背面的措施,则要绘制6个面,其中包括一些,我们根本看不到的面。对于立方体这个面较少
The fool
·
2020-07-14 00:12
OpenGL学习脚印
OpenGL学习
总结(四)
OpenGL光照模型总结一、冯氏光照所谓的冯氏光照分为三大部分:环境光照、漫反射光照以及镜面反射光照。对于同一个物体来讲,当有多个光源发出光线照亮该物体时,都可以将其划分成上述三种情况分别进行计算,最后将三部分组合即为其中一个光源照射物体后得到的最终结果,再将每个光源的照射结果进行叠加即为复杂照射环境下的最终结果。1、环境光照:这是冯氏光照中最简单的光照,只需要用环境光向量乘上物体本身的颜色即可,
cesuolidec4
·
2020-07-13 22:38
OpenGL学习总结
OpenGL学习
总结(一)
OpenGL基础一、OpenGL是一个状态机OpenGL本身是一个巨大的状态机,所以编程的根本目的使用一些列操作和变量来改变OpenGL的工作状态,例如:要绘制一个三角形的时候,我们先要告诉它接下来将要绘制三角形,使其切换状态,然后再将要绘制的三角形的坐标告诉它,随后才可以绘制三角形。再比如:要对显存进行操作,我们要先绑定需要操作的显存,然后接下来的操作就都会默认为是对已绑定显存的操作,当我们操作
cesuolidec4
·
2020-07-13 22:38
OpenGL学习总结
OpenGL学习
总结(八)
高级OpenGL总结(三)六、立方体贴图1、创建立方体贴图a、立方体贴图和其他纹理一样,所以要创建一个立方体贴图,在进行任何纹理操作之前,需要生成一个纹理,激活相应纹理单元然后绑定到合适的纹理目标上。这次要绑定到GL_TEXTURE_CUBE_MAP纹理类型:GLuinttextureID;glGenTextures(1,&textureID);glBindTexture(GL_TEXTURE_C
cesuolidec4
·
2020-07-13 22:38
OpenGL学习总结
OpenGL总结
OpenGL学习
总结一.OpenGL是做什么的一种图形硬件的接口。而不是像C和C++一样的编程语言,更像是一个运行库,提供一些预先封装的函数。
weixin_34125592
·
2020-07-13 18:54
OpenGL 学习 06 多边形偏移 裁剪 混合 抗锯齿
学习书籍:OpenGL超级宝典(中文第五版)密码:fu4w书籍源码:OpenGL超级宝典第五版源代码密码:oyb4环境搭建:
OpenGL学习
01-Mac搭建OpenGL环境基本概念多边形偏移上一节在
OpenGL
weixin_33728268
·
2020-07-13 17:03
OpenGL学习
十三:多边形偏移
如果想着重显示实心物体的边缘,可以先用GL_FILL模式绘制这个物体,然后再GL_LINE下再次用另外一种不同的颜色再次绘制(如右图),但是由于光栅化的方式不完全相同,因此直线和多边形经过计算后的Z值也可能不同,也可能向后,这就导致了线和实心忽浓忽暗的效果(右图2)glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);glutSolidSphere(1.0,20,12)
star198505
·
2020-07-13 14:39
OpenGL
opoengl 投影矩阵的推导
原文:http://blog.csdn.net/wangdingqiaoit/article/details/39010077
OpenGL学习
脚印:投影矩阵的推导写在前面本节内容翻译和整理自http:/
monk_CD
·
2020-07-13 12:38
Opengl
OpenGL学习
笔记:面剔除
本节的内容是在定义顶点的时候确定三角形顶点的顺序,然后根据顺序确定物体的正面和背面,在渲染的时候就可以删除被挡住的一面从而提高绘图效率本例中和原教程略有不同的是,由于懒得重写代码,将上节的混合内容删除,留下了地板和两个箱子,如果直接使用面剔除,由于地板和箱子的正面和背面不同,箱子和地板无法同时正确显示,所以要在渲染循环中,每次绘制之前,改变剔除面的行为,从而不影响画面显示#include#incl
木千
·
2020-07-13 08:55
OpenGL学习笔记
OpenGL总结
OpenGL学习
总结一.OpenGL是做什么的一种图形硬件的接口。而不是像C和C++一样的编程语言,更像是一个运行库,提供一些预先封装的函数。
聂少`
·
2020-07-12 23:05
图形&图像&引擎
OpenGL学习
(六)坐标系统
OpenGL学习
(六)坐标系统参考官方文档https://learnopengl-cn.github.io/将坐标变换为标准化设备坐标,然后转换为屏幕坐标的过程是分布进行的。
xhh22900
·
2020-07-12 16:12
OpenGL学习
使用索引绘图(转)
文章转至
OpenGL学习
脚印:使用索引绘图(indexdrawing)通过本节可以了解到索引绘图使用方法索引绘图应用场合使用EBO开始索引绘图EBO即ElementBufferObjects,用来存储绘制物体的索引
傻傻小萝卜
·
2020-07-11 04:59
OpenGL学习
系列---点的绘制流程
欢迎访问个人博客:https://glumes.com终于要开始探索奇妙的3D世界了,OpenGL搞起。OpenGL简介OpenGL是一种应用程序编程接口,它是一种可以对图形硬件设备特性进行访问的软件库。重点:OpenGL是一种接口,既然是接口,那么就必然要有实现。事实上,它的实现是由显示设备厂商提供的,而且依赖于厂商提供的硬件设备。OpenGL常用于CAD、虚拟实境、科学可视化程序和电子游戏开发
glumes
·
2020-07-10 00:13
【
OpenGL学习
笔记】2.创建窗口
OpenGL创建窗口简单流程,初始化GLFW,创建对应窗口,初始化CLAD,设置视口和回调函数,设置渲染循环,结束释放资源。代码:#include#include#includevoidframebuffer_size_callback(GLFWwindow*window,intwidth,intheight);//回调函数,窗口改变大小,视口也调整intmain(){glfwInit();//初
engineer_ZHQ
·
2020-07-09 05:14
学习
opengl
编程
【
OpenGL学习
笔记】1.准备工作,环境和库
OpenGL是一个接口规范,由Khronos组织制定并维护的规范。OpenGL规范确定了每个函数如何执行,以及输出值。至于内部具体实现由OpenGL的开发者自行决定。所以具体的OpenGL库都是由开发者来维护,内部实现可能不同。OpenGL的渲染模式有固定管线模式和可编程模式。现代的OpenGL编程要求开发者使用可编程渲染模式。这种方式十分灵活,可以实现各种复杂的效果。但需要对OpenGL的渲染流
engineer_ZHQ
·
2020-07-09 05:14
编程
学习
opengl
OpenGL学习
之中点画圆算法
中点画圆算法在每个布中以单位间隔取样并确定离指定圆最近的像素位置。代码如下:#includeclassscreenpt{private:GLintx,y;public:screenpt(){x=y=0;}voidsetcoords(GLintxcoord,GLintycoords){x=xcoord;y=ycoords;}GLintgetx()const{returnx;}GLintgety()c
zhouzhouzf
·
2020-07-09 05:40
计算机图形学
c++
OpenGL学习
算法
计算机编程
C语言
OpenGL学习
笔记 2 让正方形动起来
在笔记1里面我记录下来渲染一个最基本的小三角形需要哪些准备工作以及程序的主要框架,这一节我继续跟上蓝宝书的脚步,试着理解二维动画怎么做出来的。这个笔记主要记录了消息相应应该用什么函数以及应该加在程序的什么位置比较合适。下面的内容是在屏幕中央绘制一个正方形,并且可以按照我们键盘上的上下左右四个按键进行移动,源码如下:当然你也需要链接freeglut_static.lib以及gltools.lib,并
Irving_87
·
2020-07-09 04:00
OpenGL
OpenGL学习
笔记之绘制三角形
参考https://learnopengl.com/1、创建窗口glfw是一个针对OpenGL的窗口管理库,这里使用glfw库创建窗口并处理输入,glfw库可以在它的官网上下载,提供了动态库和静态库供选择,也可以下载源码自己编译。以官方下载的静态库glfw3.lib为例,将下载的静态库复制到自己方便管理的路径,这里放在工程路径下的lib文件夹内,并将该文件路径添加到工程属性的依赖库里将glfw3.
蓬 蒿 人
·
2020-07-09 03:56
OpenGL
openGL学习
笔记一 openGL简述
笔记参考了openGL的一些理解顶点,图元,片元的解释openGLwiki1.OpenGL是什么?OpenGL(全写OpenGraphicsLibrary)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows95、WindowsNT、Unix、L
cielArsenal
·
2020-07-09 00:59
opengl
基于QT5的
OpenGL学习
--创建窗口
基于QT5的
OpenGL学习
–创建窗口在使用OpenGL渲染出出色的3D效果之前,首先需要创建OpenGL上下文(context)和一个用于显示的窗口,而OpenGL并没有提供创建窗口的API,这意味着我们需要自己创建窗口
IT之禅
·
2020-07-08 20:07
Qt5
OpenGL
OpenGL学习
笔记(7)多边形绘制
绘制模式在绘制多边形时除了默认的填充方式,还可以使用点和线使用glPolygonMode函数来设置模式三种不同模式下的绘图GL_FILLGL_LINEGL_POINT多边形的两面如果以顺时针绘制则是反面,逆时针绘制则是正面//设置正面为填充模式glPolygonMode(GL_FRONT,GL_FILL);//设置反面为线形模式glPolygonMode(GL_BACK,GL_LINE);//设置
weixin_34148340
·
2020-07-08 17:58
OpenGL学习
笔记(2) 画一个正方形
画一个正方形其实,画正方形就是画两个三角形,用四个顶点以及使用索引来实现完整代码在Square项目的Application.cpp里先贴上窗口初始化代码voidBaseInit(){glfwInit();//初始化glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3);//配置GLFWglfwWindowHint(GLFW_CONTEXT_VERSION_MINO
weixin_33895695
·
2020-07-08 16:37
OpenGL学习
笔记(1) 画一个三角形
最近找实习有一丢丢蛋疼,沉迷鬼泣5,四周目通关,又不想写代码,写篇笔记复习一下,要好好学图形学啊用OpenGL画一个三角形项目的简介记录一下跟着learn
OpenGL学习
的过程笔记里的代码放在github
weixin_33701251
·
2020-07-08 15:10
OpenGL空间(坐标系)变换
网友的《3D图形学的学习策略》一文使我深受启发,在图形学以及
openGL学习
方面给了我很有价值的指导性意见,在此对前辈们的不吝赐教表示感激,谢谢你们的无私分享。
weixin_30781775
·
2020-07-08 14:47
OpenGL学习
笔记---黑屏解决2
(一)引言有过WindowsGDI编程经验的人都知道当窗口的尺寸发生变化时,或该窗口被另外一个窗口遮住时窗口应该发生重绘。OpenGL当然也不例外。例如下面一段程序运行后拖动窗口的边沿窗口以及里面显示的物体大小会随之变化。由于我们没有处理ON_PAINT消息,也没有编写重绘的回调函数,此时窗口中的图形没有消失说明该窗口已经进行了重绘。此时操作系统调用的是Glut中默认的重绘回调函数。从OpenGL
雨洁9409
·
2020-07-08 10:37
OpenGL
openGL学习
笔记十五: 绘制带颜色的立方体
代码如下:structVertex{unsignedcharr,g,b,a;floatx,y,z;};//绘制staticvoidrender(GLFWwindow*window){glClearColor(0,0,0,1);glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);//立方体4个面的顶点数据VertexcubeVertices[]={{25
乌班图ysm
·
2020-07-08 09:50
#
1.7
OpenGL
openGL学习
笔记十一: 绘制带颜色的三角形
代码如下://顶点数据包含位置颜色structVertex{floatx,y,z;floatr,g,b;};//opengl绘制staticvoidrender(GLFWwindow*window){glClearColor(0,0,0,1);glClear(GL_COLOR_BUFFER_BIT);//设置三角形顶点及颜色数据Vertexrect[]={{10,10,0,1,0,0},//颜色可
乌班图ysm
·
2020-07-08 09:50
#
1.7
OpenGL
openGL学习
笔记十八: 立方体纹理映射,使用FreeImage库加载图片
这里使用FreeImage加载图片,生成纹理,并且把这个纹理映射到正方体四个面。FreeImage: 免费的、开源的、跨平台,图像加载处理库,支持20多种图像格式。官网:http://freeimage.sourceforge.net/代码如下:/**使用FreeImage加载图片并映射到立方体*/#defineGLEW_STATIC#include#include#include#incl
乌班图ysm
·
2020-07-08 09:50
#
1.7
OpenGL
OpenGL学习
三十一:累积缓冲区
OpenGL除了颜色缓冲区、深度缓冲区、模板缓冲区之外,还有累积缓冲区。累积缓冲区允许你把渲染到颜色缓冲区的值,拷贝到累积缓冲区。在多次拷贝操作到累积缓冲区时,可以用不同方式的把颜色缓冲区内容和当前累积缓冲区的内容进行重复混合。当在累积缓冲区完成一幅图像之后,可以拷回颜色缓冲区,然后通过SwapBuffers显示到屏幕上。累积缓冲区的操作通过voidglAccum(GLenumop,GLfloat
star198505
·
2020-07-08 07:19
OpenGL
OpenGL学习
二十八:蒙版
(本节对应分析NEHE教程第20课)有时我们希望上层的图片的某些区域能投出下层的某些区域。当然我们可以通过关键色进行处理,但是蒙版技术一样可以达到这样的效果,通过以下图片达到蒙版的效果本节包含2个技术点1.如何让纹理移动,放大(不是图像位置移动,是纹理移动)(前面以及介绍过了)2.蒙版的设计蒙版设计简单的说是通过控制Alpha来让白色的部分透,黑色的部分不透蒙版的设计1.第一张图与第二张图进行混合
star198505
·
2020-07-08 07:19
OpenGL
OpenGL学习
笔记一(三角形)
OpenGL学习
笔记之三角形篇在计算机图形中三角形就如所有编程语言中的“helloworld!”。所以接下来我们将要画一个三角形。
Love柒
·
2020-07-08 05:49
OpenGL
现代
OpenGL学习
笔记二:第一个三角形
本笔记主要是跟学LearnOpenGL的内容,并将其中一些不懂的地方通过查阅资料进行整理补充,推荐参考原文:整个教程:https://learnopengl-cn.github.io/本笔记参考教程原文:https://learnopengl-cn.github.io/01%20Getting%20started/04%20Hello%20Triangle/转载请注明出处:https://blog
shs1992shs
·
2020-07-08 05:03
OpenGL
从0开始的
OpenGL学习
(二十)-融混
本文主要解决一个问题:如何在OpenGL中使用融混(Blending)操作?引言还记得前面的章节中我们使用两张纹理进行融合的事情吗?我们通过采样不同图片获得纹素,然后将纹素按照一定的比例混合起来显示。这样,看上去就有了两张图片混合的效果。但是,我们这里的融混(Blending)与之前的纹理图融合有区别,融混所要创造的是半透明和不透明同时存在的效果,而前面的融合操作会使整张纹理图都显得透明:融合效果
闪电的蓝熊猫
·
2020-07-08 01:12
MAC_
OPENGL学习
----使用GLUT的更加简单的配置方法
上一篇讲了用GLEW和GLFW进行MAC上openGL环境,其实还有更加简单的方法,那就是使用GLUT,不过会报Deprecated的warning。首先创建MacOSCommandLineTool,语言C++,这里不需要下载任何东西,只要添加OpenGL.framework和GLUT。framework就可以了,如下图接下来可以直接添加代码#include#includevoiddisplay(
三个胖子
·
2020-07-07 23:58
MAC_OPENGL学习
OpenGL学习
笔记十九——HDR
HDR什么是HDRHDR在OpenGL中的应用什么是HDR在渲染一个物体的过程中,物体最终的颜色被存入帧缓冲中时,颜色和亮度值会被限制在0-1之间,这就会有一个问题:当物体的颜色全部都超过1的时候,会被帧缓冲的颜色限制在1这个值,那么场景中的颜色都会变成一种颜色,导致场景一片混乱。如图所示:好的解决方案是暂时保存超过1部分的颜色值,获得更多的颜色细节,然后将该范围内的值映射到[0,1]之间。这个更
绿洲守望者
·
2020-07-07 23:00
OpenGL
OpenGL学习
笔记十五(面剔除)
OpenGL学习
笔记十五(面剔除)什么是面剔除环绕顺序面剔除函数示例程序注意什么是面剔除在绘制一个正方体时,我们能看到最多的面数是3,而看不到的面虽然被绘制计算,但却无法通过深度测试,这样就做了一倍的无意义计算
绿洲守望者
·
2020-07-07 23:00
OpenGL
OpenGL学习
笔记十七(立方体贴图,实现天空盒)
OpenGL学习
笔记十七(立方体贴图,实现天空盒)什么是立方体贴图立方体贴图原理立方体贴图应用——天空盒创建立方体贴图加载天空盒完整程序什么是立方体贴图简单来说,立方体贴图就是一个包含了6个2D纹理的纹理
绿洲守望者
·
2020-07-07 23:00
OpenGL
OpenGL学习
笔记八——使用结构体创建材质
OpenGL学习
笔记八——使用结构体创建材质前言光照基础链接:OpenGL结构体的创建示例程序:前言光照基础链接:光照基础知识冯氏光照模型OpenGL结构体的创建OpenGL可支持自定义结构体,其形式与
绿洲守望者
·
2020-07-07 23:59
OpenGL
OpenGL学习
之着色器语言
着色器语言OpenGLES着色器语言是一种高级的图形编辑语言,主要特性:1.OpenGLES着色器语言是一种高级的过程语言2.对顶点着色器,片元着色器使用的是同样的语言,不做区分3.基于C/C++的语法及流程控制4.完美支持向量与矩阵的各种操作5.拥有大量的内置函数来提供丰富的功能数据类型OpenGLES虽然是基于C/C++语法的,但是还是有很大的不同。该语言不支持double,byte,shor
vivianluomin
·
2020-07-07 23:33
android
OpenGL学习
(一)—— OpenGL专业名词理解
OpenGL上下⽂(context)可以理解为一个保存当前状态的机器,能够实时跟进我们的修改。1、有记忆功能,保存状态(当前使用的颜色、是否开启深度测试、是否开启混合功能)2、能接收输入,根据输入修改当前状态,且有相应输出3、可以进⼊停⽌状态,不再接收输⼊。在程序退出前,OpenGL总会先停⽌⼯作的。4、反复切换上下文会导致GPU开销变大,一般使用多个不同的上下⽂,根据不同的需求使用不同的上下⽂,
小猫LL
·
2020-07-07 22:34
OpenGL学习
_01_环境搭建
最近动了心思,想要系统的学习一下有关渲染方面的知识,从openGL入手,参考书籍《OpenGL编程指南》原书第九版。也是一小白,学习过程中记下笔记。环境:macOS10.14.4一、安装xcodeIDE可以直接中AppStore中搜索xcode,点击安装1.使用XCode创建项目:OSX->CommandLineTool->Next2.输入项目名称,语言选择C++,Next3.选择项目保存路径二、
bling汐
·
2020-07-07 21:58
学习笔记
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他