排序
相机的奥秘——推导视图矩阵
哈喽大家好啊,我是广州小井。上一节我们初步了解了相机和视图矩阵,并且通过 three.js 的 lookAt 方法实战感受了通过相机观测图形的效果,get 到了变换相机位置观测图形和变换图形自身是一个反...
简识OpenGL + OpenGLES+GPUImage+Metal的基础原理和代码实施
OpenGL: OpenGL是使用客户端--服务端的形式实现的。 客户端(我们编写的程序)发起图像处理请求,计算机图像硬件厂商提供的OpenGL实现图形绘制操作。 光栅化:实际绘制或填充每个顶点之间的像...
OpenGL – 绘制三角形
OpenGL - 绘制三角形 前言 本节目标 掌握VAO,VBO,VEO的概念和用法 在窗口内绘制三角形 重难点都在本节 渲染管线 渲染管线这个名字听起来高端,其实很简单。管线就意味着串行执行,一步步来的代...
OpenGL- 从创建窗口开始
创建窗口 前言 下面的点。描述了创建窗口的重要性和一些理解 所有系统的app开发都是从创建窗口开始的 窗口是一个底层的抽象概念 这一节对理解各系统的渲染机制比较关键。因为对android较为了解...
Linux 下的 OpenGL 之路(九):天空盒、反射和折射
阅读目录前言天空盒的技术其实挺简单关于反射和折射总结版权申明 回到顶部前言 搞定了天空盒,才算是真正完成了场景的搭建,以后再要进行什么样的图形学测试,都可以在这个场景下进行。比如后面...
手把手带你入门 Three.js Shader 系列(二)
又是时隔两个月才更新这第二篇教程,原本以为最多一个星期就能更新出来,但写着写着总觉得有些地方解释的不够清楚,于是写到一半就放在一边,终于觉得不能再拖下去才找出来花两天继续写下去。可...
一文学会TextureID渲染到Surface
最近遇到一个需求,要求将一个GL_TEXTURE_2D类型的纹理ID写入到ImageReader生成的Surface中。 其实这个需求与我之前写过的一篇文章 一文学会MediaCodeC与OpenGL录制mp4视频需求比较接近,只需要...
OpenGL ES教程——高级GLSL
今天来学习下GLSL中的一些有意思的特性 1、GLSL的内建变量 我们之前已经接触过两个内建变量了: gl_Position,顶点着色器的输出变量 gl_FragCoord,表示当前片元着色器处理的候选片元窗口相对坐...
一看就懂的OpenGL ES教程-3D渲染实战
我正在参加「掘金·启航计划」 通过阅读本文,你将获得以下收获: 1.如何渲染3D纹理 2.如何渲染一个多纹理的立方体 3.如何渲染多个立方体并且提供交互操作 上篇回顾 上2篇博文一看就懂的OpenGL ...
【OpenGL ES 3.x】绘制点线面
我正在参加「掘金·启航计划」 使用GLSurfaceView GLSurfaceView继承自SurfaceView同样也是在View基础上具有创建独立Surface能力。另外GLSurfaceView又在SurfaceView上实现了使用OpenGL的能力,...
OpenGL ES教程——立方体贴图
我们已经学习过2D纹理了,今天来学习立方体贴图,立方体纹理就是多个纹理组合起来映射到一张纹理。 简单来说,立方体贴图就是一个包含了6个2D纹理的纹理,每个2D纹理都组成了立方体的一个面:一...
Opengl ES之颜色混合
本文正在参加「金石计划」 颜色混合 关于混合,其实我们在之前的文章中也有使用到混合的功能了,例如在 Opengl ES之水印贴图 使用混合实现水印贴图。 什么是颜色混合? 颜色混合就是把两种颜色...
OpenGL & Metal Shader 编程:ShaderToy 内置全局变量
前面发了一些关于 Shader 编程的文章,有读者反馈太碎片化了,希望这里能整理出来一个系列,方便系统的学习一下 Shader 编程。 由于主流的 Shader 编程网站,如 ShaderToy, gl-transitions 都是...
OpenglES之裁剪测试
本文正在参加「金石计划」 什么是裁剪测试 剪裁测试用于限制绘制区域,在 OpenGL 中启用裁剪测试可以在屏幕或者帧缓冲上指定一个矩形区域,然后在该矩形区域内绘制,只有在该区域内的片元才有机...
一看就懂的OpenGL ES教程——走进3D的世界之坐标系统(下篇)
我正在参加「掘金·启航计划」 通过阅读本文,你将获得以下收获: 1.正交投影变换数学推导原理 2.透视投影变换矩阵数学推导 3.视口变换 上篇回顾 上一篇一看就懂的OpenGL ES教程——走进3D的世...
Opengl ES之转场动画
本文正在参加「金石计划」 转场 什么是转场效果?一般来说,就是两个视频画面之间的过渡衔接效果。在opengl中,图片的转场,其实就是两个纹理的过渡切换,一般会有两个纹理作为输入,一个是逐渐...
OpenGL7-第一个3D图形
1、画立方体 之前我们绘制的都是二维图形,今天开始我们将进入三维图形的绘制,三维图形是在二维(XY轴)平面基础上,增加了深度(Z轴),所以三维图形更具有空间感。 二维变三维,图形的顶点个数会...
Opengl关于GL_LUMINANCE被移除的兼容性问题
本文正在参加「金石计划」 起因 之前笔者写的Opengl入门教程都是面向Android开发者的Opengl ES方面的,总所周知,Opengl本身就是跨平台的,Opengl ES的程序只需经过稍微改动适配一下即可变成Ope...
OpenGL ES教程——帧缓冲
在OpenGL的渲染管线中,几何数据和纹理通过一系列变换和测试,最终被渲染成屏幕上的二维像素。那些用于存储颜色值和测试结果的二维数组的几何被称为帧缓冲区(frame buffer) 用于写入颜色值的...
一看就懂的OpenGL ES教程——走进3D的世界之坐标系统(上篇)
我正在参加「掘金·启航计划」 通过阅读本文,你将获得以下收获: 1.矩阵变换拓展到3D相关知识 2.OpenGL的坐标系统 3.OpenGL坐标系统之间的转换 4.了解投影变换 上篇回顾 上篇一看就懂的OpenGL ...