排序:
默认
按更新时间
按访问量
RSS订阅

opengl shader 在线学习文档

https://thebookofshaders.com/?lan=ch https://thebookofshaders.com/?lan=ch

2019-06-10 18:50:01

阅读数 61

评论数 0

EGL工作流程

  流程 (1)Display 是图形显示设备(显示屏)的抽象表示。大部分EGL函数都要带一个 Display 作为参数  (2)Context 是 OpenGL 状态机。Context 与 Surface 可以是一对一、多对一、一对多的关系  (3)Surface 是绘图缓冲,可以是 ...

2018-12-27 16:13:58

阅读数 239

评论数 0

opengl_shader在线教程

https://thebookofshaders.com/07/?lan=ch   opengl入门教程 https://learnopengl-cn.github.io/

2018-12-20 14:52:33

阅读数 431

评论数 1

opengl中的矩阵变换

转自:http://blog.csdn.net/lyx2007825/article/details/8792475 Overview 几何数据——顶点位置,和标准向量(normal vectors),在OpenGL 管道raterization 处理过程之前可通过顶点操作(Vertex...

2017-08-01 10:48:24

阅读数 224

评论数 0

opengles开发环境搭建

1,vs中建立解决方案,解决方案下添加项目 将  d3dcompiler_43.dll,d3dcompiler_46.dll,FreeImage.dll,libEGL.dll,libGLESv2.dll添加到解决方案的debug或者release目录 注意是解决方案的debug或release...

2017-05-27 10:41:08

阅读数 656

评论数 0

opengles实现简单的粒子系统

效果图 shader实现 const char* vs = { "uniform float u_time;" "uniform vec3 u_centerPosition;" "attrib...

2017-05-18 17:24:13

阅读数 853

评论数 0

opengles绘制点精灵

什么是点精灵 opengl图形由顶点构成,所谓点精灵就是对点进行纹理映射,简单说就是把一副纹理贴在一个点上 原来4个顶点构成一个矩形,现在一个顶点就完成了,典型的如粒子效果,云雾,水流火花都可以用点精灵来实现 ,这样减少了3个顶点的计算,效率很高。下面看例子 我们把 这个图片贴到4个顶点上面...

2017-05-18 10:16:08

阅读数 555

评论数 0

glsl语言基础

glsl的语言风格和C语言很像,但是变量的命名不能以gl_开始,因为gl_前缀用于glsl内部变量 基本类型 类型 描述 void 跟C语言的void类似,表示空类型。作为函数的返回类型,表示这个函数不返回值。 bool 布尔类型,可以是true 和f...

2017-05-17 16:41:46

阅读数 741

评论数 0

opengles之VBO和FBO的结合使用

FBO的理论详见:http://blog.csdn.net/xiajun07061225/article/details/7283929/ FBO的创建: class FrameBufferId { public: FrameBufferId() { _width ...

2017-05-17 14:58:36

阅读数 864

评论数 0

opengles中VBO和IBO结合使用

VBO:顶点缓冲区   IBO:索引缓冲区 VBO的作用:在不使用VBO的情况下,每次调用glDrawArrays或glDrawElements的时候,都要把数据从内存拷贝到显卡,频繁的绘制内存和显卡之间就要频繁的拷贝数据这会增加很多开销,而VBO就是把要绘制的顶点信息直接缓存在显卡内存中,这样...

2017-05-16 15:28:14

阅读数 570

评论数 0

什么是OpenGL中的深度、深度缓存、深度测试?

1)直观理解 深度其实就是该象素点在3d世界中距离摄象机的距离,深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值!深度测试决定了是否绘制较远的象素点(或较近的象素点),通常选用较近的,而较远优先能实现透视的效果!!! 2)Z值(深度值)、Z buffer(深度缓存)     ...

2017-05-16 13:27:13

阅读数 257

评论数 0

opengles中使用vbo(顶点缓冲区)

为什么要使用VBO: 如果不使用vbo,要绘制物体的顶点信息需要从内存传递到显存,当绘制的模型比较复杂时,频繁的在内存和显存中做数据传递会降低效率。因此使用VBO,可以先把一部分顶点数据缓存起来,绘制的时候直接从缓存中获取,大大降低内存和显存之间数据拷贝的开销,总而言之是为了提高绘制效率。 ...

2017-05-16 11:17:41

阅读数 208

评论数 0

opengles中的alpha混合

1-不启用混合操作和深度测试 2-启用混合操作不启用深度测试 3-启用混合操作和深度测试 4-启用混合操作深度测试并shader中丢弃部分片元 5-不启用混合操作深度测试只在shader中丢弃片元 在shader中丢弃不满足条件的片...

2017-05-15 17:42:39

阅读数 858

评论数 0

opengles实现画中画功能

实现画中画的关键步骤 //画中画功能实现 glBindTexture(GL_TEXTURE_2D, _texDynamic); //从帧缓存区GL_READ_BUFFER读取一块像素矩形,并替换一个现有的纹理数组的一部分或全部. //本例中替换 _texDynami...

2017-05-11 12:05:41

阅读数 759

评论数 0

opengles之修改已有纹理glTexSubImage2D函数用法

shader实现类: #pragma once #include class ShaderId { public: ShaderId() { _shaderId = -1; } int _shaderId; }; /** * 程序 */ class Progr...

2017-05-09 18:27:22

阅读数 4885

评论数 0

opengles之mipmap纹理

为什么要用mipmap?      在三维世界中,显示一张图片的大小与摄像机的位置有关,近的地方,图片实际像素大一些,远 的地方,图片实际像素就小一些,比如一张64*64的图片 在近处, 显示出来可能是50*50,远处可能显示出来就是20*20。     mipmap纹理技术是目前解决纹理分...

2017-05-09 13:39:37

阅读数 623

评论数 0

基于OpenGL ES 的深度学习框架编写

本文出自:http://blog.csdn.net/jxt1234and2010/article/details/71056736 基于OpenGL ES的深度学习框架编写 背景与工程定位 背景 项目组基于深度学习实现了视频风格化和人像抠图的功能,但这是在PC/服务...

2017-05-08 14:04:25

阅读数 3101

评论数 2

openglesForC++绘制草地

shader实现类: #pragma once #include class ShaderId { public: ShaderId() { _shaderId = -1; } int _shaderId; }; /** * 程序 */ class Progr...

2017-05-04 17:58:34

阅读数 917

评论数 0

openglesForC++实现两幅图像混合的效果

本例将在一个矩形上加载两幅不同的图片作为纹理,然后采用不同的混合方式呈现不同的效果,并且可以通过改变纹理X,Y坐标,实现移动的效果 两幅原始图片: shader实现: /// 初始化函数 virtual bool initialize() { const ch...

2017-05-03 15:44:19

阅读数 417

评论数 0

openglesForC++矩形旋转

shader实现类 #pragma once #include class ShaderId { public: ShaderId() { _shaderId = -1; } int _shaderId; }; /** * 程序 */ class Progra...

2017-05-02 13:42:38

阅读数 448

评论数 0

提示
确定要删除当前文章?
取消 删除