OpenGl 知识一】的更多相关文章

写在前面 啦啦啦,搞了很久的Unity Shaders,越学越觉得基础知识很重要.学Unity Shader的时候,总会想,shader到底是什么呢?shader的pipeline是什么呢?它们是怎么工作的?有哪些限制?等等问题.但这些问题,Unity是不负责告诉你的.它专注于how,而不是what和why.想要深入理解一些问题,感觉还是要从GL或者DX学起.后面会学习GL龙书第八版~当然Unity我也不会放弃的. 这篇文章旨在回答一些基本问题.We always rant about them…
OpenGL综述 September 14, 2014 学习OpenGL是学习计算机图形学的一个工具,因为计算机上图形的显示要依靠底层的软件和硬件,学习图形学除了学习基本的概念,线,曲面,图形生成,变换,渲染这些,做三维的图形图像显示时,从操作系统和驱动这一底层设计起显然费时不切实际,所以我们需要一套高级的图形接口. 我们可以认为 Opengl 就是这样的一个 API,OpenGL 有多种语言绑定,但是最终地最底层是一个 C 语言的 API接口.这组 API由一些 typedef,#define…
关于OpenGL中判断一个点是否可见,可以分成两种情况讨论:点在2D空间中和3D空间中的时候.并且"在2D空间中"可以看作"在3D空间中"的特殊情况. 温馨提示: 1. 以下讨论以现代OpenGL为基础,如果您只会旧OpenGL,请先学习一些与本文相关的现代OpenGL知识. 2. 文中除vertex shader以外的代码可以认为是GLSL. 2D空间 如果是2D空间,就很好判断了.这里再分成几种情况. 1. 已知原始顶点坐标,没有矩阵变换 设有如下vertex…
一.前言 在之前已经详细介绍了Android中的一种视频数据源:Camera,不了解的同学可以点击进入:Android中Camera使用详解 ,在这篇文章中我们介绍了如何采集摄像头的每一帧数据,然后进行二次处理,例子中主要使用了对每一帧数据进行格式转化:NV21转化成ARGB格式,然后生成一张图片,然后添加水印效果.那么本文就来开始介绍如何将摄像头视频源数据的每一帧进行二次处理,然后推流到服务端.推流现在有很多种方式,但是更多的是基于FFMpeg,而现在各个云服务平台已经推出了直播SDK了,本文…
本文将从 OpenGL 的角度结合 Apple 官方给出的部分资料,介绍 iOS Rendering Process 的概念及其整个底层渲染管道的各个流程. 相信在理解了 iOS Rendering Process 的底层各个阶段之后,我们可以在平日的开发工作之中写出性能更高的代码,在解决帧率不足的显示卡顿问题时也可以多一些思路~ 索引 iOS Rendering Process 概念 iOS Rendering 技术框架 OpenGL 主要渲染步骤 OpenGL Render Pipeline…
近期一年来,VR虚拟现实和AR增强现实技术的宣传甚嚣尘上.事实上VR,AR技术非常早就有了,一直没有流行开来.不可否认价格是影响技术推广的最大壁垒. 谷歌对VR最大的贡献是提供了便宜的谷歌眼镜,依照GOOGLE提供的图纸,使用两个放大镜和一个披萨盒就能轻松DIY出自己的VR眼镜,同一时期谷歌推出来开源的VR SDK,使得开发人员能够轻松构建VR游戏和VR播放器,使得差点儿全部对这一切感兴趣的公司能够轻松的低成本的在技术上布局VR产业链. 非常多VR眼镜已经降到了几十块钱.毫无疑问,谷歌又借着便宜…
想开发一个图形游戏已经很久了,这个寒假好不容易学了一些OpenGL知识,初步具备了开发图形游戏的能力,我觉得我可以开始了.当然,我的游戏并不是冷冰冰的PVE,肯定还需要一些剧情丰富色彩. 本来我的游戏取名为 Back-in-Time ,因为我很喜欢有关时间的一些东西,但考虑到重名的太多,所以换了一个名字——Reversal,它也与时间有点关系,而且有多重含义. 所以——这就开始啦!…
这是一篇关于在raspberry Pi 3b上移植实现vulkan 驱动的文章. 经过一段时间的代码搬运,终于实现了零的突破,可以在树莓派3B上运行Vulkan triangle/texture.当然目前的情况是,仅仅能运行这两个demo,很多API都未实现,实现了的API也还有一大堆bug,总之这只是一个开始.   之所以会在选择raspberry pi 3b是移植vulkan driver,是因为近段时间在学习GPU drivers(Mesa + DRM/KMS ),加之树莓派的GPU驱动是…
混合是一种常用的技巧,通常可以用来实现半透明.但其实它也是十分灵活的,你可以通过不同的设置得到不同的混合结果,产生一些有趣或者奇怪的图象.混合是什么呢?混合就是把两种颜色混在一起.具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果.假设我们需要绘制这样一个场景:透过红色的玻璃去看绿色的物体,那么可以先绘制绿色的物体,再绘制红色玻璃.在绘制红色玻璃的时候,利用“混合”功能,把将要绘制上去的红色和原来的绿色进行混合,于是得到一种新的颜色,看上去就好像玻…
最近在帧缓冲区对象这里卡了一下,不过前面已经了解了相关的OpenGL ES的知识,现在再去了解就感觉轻松多了.现在就进行总结. 基础知识 我们知道,在应用程序调用任何的OpenGL ES命令之前,需要首先创建一个渲染上下文和绘图表面,并使之成为现行上下文和表面,之前在渲染的时候,其实一直使用的是原生窗口系统(比如EAGL,GLFW)提供的渲染上下文和绘图表面(即帧缓冲区). 一般情况下,我们只需要系统提供的帧缓冲区作为绘图表面,但是又有些特殊情况,比如阴影贴图.动态反射.处理后特效等需要渲染到纹…