EGL 内容介绍 说明:Khronos 是 OpenGL, OpenGL ES, OpenVG 和 EGL 等规范的定义者。以下的代码主要是用 Android 书写,但规范是 EGL 规范。 EGL 是 Khronos 组织定义的用于管理绘图表面(窗口只是绘图表面的一种类型,还有其他的类型)的 AP ...
分类:
移动开发 时间:
2020-07-24 23:42:08
阅读次数:
244
案例一、隧道 效果 Demo链接 1)四面: 2)主要代码: 1 // 初始化设置 2 void SetupRC() { 3 4 glClearColor(0.0f, 0.0f, 0.0f, 1.0f);// 黑色 5 shaderManager.InitializeStockShaders(); ...
分类:
其他好文 时间:
2020-07-24 09:44:15
阅读次数:
60
垂直同步是涉及到显卡和显示器的一个概念。 当开启了垂直同步,显卡在渲染完成一帧图像之后,显卡需要等待垂直同步信号的到来, 否则无法绘制下一帧。 启用垂直同步,将限制画面更新率和显示器一样,也就是限制了FPS(帧率)。 有关资料(没有完全证实): 在nvidia系列的显卡,垂直同步默认是启用的; 在A ...
分类:
其他好文 时间:
2020-07-23 22:42:25
阅读次数:
91
纹理基初知识 一、纹理 1)无论是 tga 文件还是 png/jpg 文件,最终图片文件都是要归结到位图文件去处理的。 纹理文件 --> TGA文件 --> OpenGL --> 位图 iOS开发中 --> OpenGL ES --> png/jpg --> 位图 2)原始图像数据: 图像存储空间 ...
分类:
其他好文 时间:
2020-07-22 20:57:07
阅读次数:
86
关于矩阵和向量的相关知识,大家可能和我一样毕业后几乎就慢慢遗忘干净了。但是,既然学过,回忆起来其实并不太难。而且,即使没有学过,也并不影响我们对相关API的使用。当然基础知识的理解会帮助我们弄明白和更好的进行OpenGL的开发工作。 GLTools库中的Math3d,其中包含了大量的OpenGL 3 ...
分类:
其他好文 时间:
2020-07-20 22:54:13
阅读次数:
75
我们视觉上的物体的移动有2种方式: 1、物体移动,观察者(眼睛)不动; 2、物体不动,观察者移动。 案例代码分析 -- 点线、金字塔、六边形、圆环的绘制 一、物体移动 1、物体移动,观察者不动 1 // 绘制 2 void RenderScene(void) { 3 4 // Clear the w ...
分类:
移动开发 时间:
2020-07-14 13:36:04
阅读次数:
81
我们已经知道,OpenGL 在渲染时会把深度值和颜色值存储到对应的深度缓冲区和颜色缓冲区内。当深度缓冲区被关闭时(手动禁止写入深度缓冲区: glDepthMask(GL_FALSE)),颜色的变化是:新的颜色将简单覆盖掉颜色缓冲区中当前存的颜色色值;当深度缓冲区打开时,通过深度测试结果来决定新颜色是 ...
分类:
其他好文 时间:
2020-07-14 13:33:24
阅读次数:
49
Three.js 动效方案 背景 Three.js(下面简称 Three) 作为一个 3D 库,不仅减少了我们学习 OpenGL 和 WebGL 的成本,还大大提升了前端在可视化上给用户带来更多的真实、沉浸式的体验。众所周知,Three 更多的是用 3D 模型 + 投影相机 + 用户交互的方式来构建 ...
分类:
Web程序 时间:
2020-07-13 11:22:29
阅读次数:
79
前面代码: https://files.cnblogs.com/files/zach0812/zcb202007121246.zip 颜色: 资料:https://learnopengl-cn.github.io/02%20Lighting/01%20Colors/ ...
分类:
其他好文 时间:
2020-07-12 13:56:07
阅读次数:
33
课程介绍 近些年,浏览器的功能越来越强大,渐渐得成为了复杂应用和图形的平台。同时,现有大多数浏览器实现了对 WebGL 的支持,但要直接使用 WebGL 相关接口进行开发,则需要学习复杂的着色器语言,且开发周期长,不利于项目的快速开发。 面对这种情况,Three.js 应运而生,它不但对 WebGL ...
分类:
Web程序 时间:
2020-07-10 17:13:26
阅读次数:
74