![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL
文章平均质量分 81
ty潇潇暮雨
这个作者很懒,什么都没留下…
展开
-
(五)(2)OpenGL下的渲染技巧(上)-裁剪、混合
一、裁剪在 OpenGL 中提高渲染的一种方式。只刷新屏幕上发生变化的部分,OpenGL 允许将要进行渲染的窗口只去指定一个裁剪框。基本原理:用于渲染时限制绘制区域,通过此技术可以在屏幕(帧缓冲)指定一个矩形区域。启用裁剪测试之后,不在此矩形区域内的片元被丢弃,只有在此矩形区域内的片元才有可能进入帧缓冲。因此实际达到的效果就是在屏幕上开辟一个小窗口,可以再其中进行指定内容的绘制。1、裁剪相关代码配置1.1、开启裁剪测试glEnable(GL_SCISSOR_TEST);1.2、开启裁剪测试g原创 2021-07-12 18:32:06 · 1386 阅读 · 0 评论 -
(四)(1)OpenGL下的渲染技巧(上)_固定着色器种类与基本图元连接方式
一、固定着色器种类存储着色器初始化// GLShaderManager 的初始化GLShaderManager shaderManager;shaderManager.InitializeStockShaders();1、单元着色器GLShaderManager::UserStockShader(GLT_SHADER_IDENTITY,GLfloat vColor[4]);参数1:存储着色器种类-单元着色器(GLT_SHADER_IDENTITY)参数2:颜色使用场景:绘制默认Op原创 2021-07-08 09:52:51 · 182 阅读 · 0 评论 -
(五)(1)OpenGL下的渲染技巧(上)绘制甜甜圈实例---正背面剔除解析、深度测试、多边形偏移
一、运行效果展示可以通过方向键转动方向二、代码实现1、代码设计实现流程2、代码0)相关类定义//演示了OpenGL背面剔除,深度测试,和多边形模式#include "GLTools.h" #include "GLMatrixStack.h"#include "GLFrame.h"#include "GLFrustum.h"#include "GLGeometryTransform.h"#include <math.h>#ifdef __APPLE__#inclu原创 2021-07-07 17:54:51 · 515 阅读 · 0 评论 -
(四)(2)OpenGL下的渲染技巧(上)_图元连接方式综合实践
上一篇罗列出来几种图元连接方式,然后再这个篇里我们开始实践帮助理解加深印象一、实现效果(多个图形点击空格就切换,单击方向键切换视角)二、代码实现1、代码设计实现流程2、代码0、相关类定义// 各种需要的类GLShaderManager shaderManager;GLMatrixStack modelViewMatrix; //设置变换GLMatrixStack projectionMatrix; //设置投影方式GLFrame cameraFrame;GL原创 2021-07-02 19:11:16 · 258 阅读 · 0 评论 -
(三)(3)八固定着色器种类(只需了解)
存储着色器加粗初始化// GLShaderManager 初始化GLShaderManager shaderManager;shaderManager.InitializeStockShaders();一、单元着色器GLShaderManager::UserStockShader(GLT_SHADER_IDENTITY, GLfolat vColor[4]);参数1: 存储着⾊器种类-单元着⾊器参数2: 颜⾊使⽤场景: 绘制默认OpenGL 坐标系(-1,1)下图形. 图形所有⽚段都会以原创 2021-06-29 20:29:47 · 136 阅读 · 0 评论 -
(三)(2)OpenGL 渲染结构与投影
一、OpenGL 渲染架构图说明:Application Code C/C++ OpenGL API: Client 代表客户端Server : 代表 OpenGL 底层Vertex Shader(顶点着色器)、Fragment Shader(片元着色器)可进行自定义编程数据的传递顶点着色器的参数传递的三种方式Attributes(属性):顶点数据,投影矩阵,模型矩阵,纹理坐标(图片映射坐标关系)->顶点着色器->桥接给片元着色器Uniforms:统一批次(变换矩阵,原创 2021-01-18 21:14:32 · 235 阅读 · 0 评论 -
(三)(1)离屏渲染触发原因
1、离屏渲染测试案例- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.view.backgroundColor = [UIColor whiteColor]; //1.按钮存在背景图片 UIButton *btn1 = [UIButton buttonWithType原创 2021-01-15 19:02:04 · 440 阅读 · 1 评论 -
(二)(1)OpenGL-iOS场景下的渲染
一、CPU 与 GPUCPU 现代计算机整个系统的运算核⼼、控制核⼼。特点:依赖性非常高,并发、时间片、切换。有控制单元,计算单元,高级缓存等组成。GPU 可进⾏绘图运算⼯作的专⽤微处理器,是连接计算机和显示终端的纽带。特点:计算单元、高并发、依赖性。有流处理控制器、计算单元组成。二、计算机渲染原理最初形态 —> 最终形态+1、随机扫描显示2、光栅扫描显示图像由像素阵列组成,显示一个图像时间,显示整个光栅所需的时间,和图像复杂度无关显示过程中不断刷新,人眼感受不到1) 光栅原创 2021-01-09 15:04:11 · 246 阅读 · 0 评论 -
(二)(2)OpenGL绘制方形,方向键控制其走向
一、主要流程主要需实现两部分1)正方形绘制2)键盘方向键控制正方形走向,并处理好边缘问题正方形绘制定义顶点要坐标轴的距离GLfloat blockSize = 0.1f;定义正方形4个顶点坐标GLfloat vVerts[] = { -blockSize,-blockSize,0.0f, blockSize,-blockSize,0.0f, blockSize,blockSize,0.0f, -blockSize,b原创 2020-07-07 17:44:42 · 843 阅读 · 0 评论 -
(一)(1)OpenGL入门---Open GL 在 Mac 上的配置
准备资源开始配置1)新建工程2)添加OpenGl.framework 和 GLUT.framework 两个系统库3)添加资源库及配置路径a.将PenGLShare 里的资源文件加入项目并配置include路径b.将 libGLTools.a 加入Frameworks 中c.删除AppDelegate.h 、 AppDelegate.m 、 main.m 、ViewController.h 、 ViewController.m文件,创建main.cpp...原创 2020-12-30 19:57:58 · 291 阅读 · 0 评论 -
(一)(2)OpenGL入门---Open GL常用名词解读
1、图像APIOpenGL (OpenGraphics Library)是一个跨编程语言,跨平台的编程图形程序接口,它将计算机的资源抽象称为一个个OpenGL的对象,对这些资源的操作抽象为一个个的OpenGL指令。Openg ES(OpenGL for Embedded Systems)是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计,去除了许多不必要和性能较低的API结构DirectX 是由很多API组成的,DirectX 并不是一个单纯的图像API。最重要的是Di原创 2020-07-03 17:15:14 · 1126 阅读 · 0 评论