最近想研究一下OpenGL相关技术。现在把图形程序开发过程中用到的一些术语记录下来,方便查阅。我们平时在计算机屏幕上看到的一些3D图形其实都是伪3D的。计算机屏幕是2D的,OpenGL所做的工作就是通过一系列的透视和着色等技巧在2D的计算机屏幕上绘制出模拟的3D图形。在OpenGL中用到比较多的一个术语叫渲染(Render).渲染(Render)就是对一个3D的物体通过几何的角度进行描述,并且把它
前面讨论了如何给3D图形染色,更一般的情况是使用位图来给Mesh上色(渲染材质)。主要步骤如下:创建Bitmap对象使用材质渲染,首先需要构造用来渲染的Bitmap对象,Bitmap对象可以从资源文件中读取或是从网络下载或是使用代码构造。为简单起见,本例从资源中读取:Bitmap bitmap = BitmapFactory.decodeResource(contect.getResources(
离屏渲染: 前面分析我们知道,iOS渲染流程: 主要流程:Core Animation 提交会话,包括自己和子树的layout 状态等(CPU进行解压计算等操作) RenderServer 解析提交的子树状态,生成绘制指令 GPU 执行绘制指令 显示渲染后的数据 详细代码参见Demo  离屏渲染Demo地址 -> iOSDemos -> iOSOpenG
转载 2024-01-20 13:29:17
130阅读
Android中视频渲染有几种方式,之前的文章使用的是nativewindow(包括softwareRender)。今天介绍另一总视频渲染的方式——OpenGL ES。 阅读本文之前需要对OpenGL有一定的了解,可以参考https://www.jianshu/p/99daa25b4573在Android中使用OpenGL的方法有两种,一种是在native层使用EGL+OpenGL来实现,
转载 2024-08-28 15:48:18
27阅读
前言最近项目中需要使用到OpenGL对3D模型进行渲染。已有数据为:带纹理的3D模型模型上的关键点。  需要实现的功能:读取和保存 带纹理的3D模型、读取模型的关键点对模型进行渲染,保存设定角度的渲染图片、以及关键点在相同角度的2D坐标在渲染图片中模型上任意一个2D点,反向计算到该点空间的3D位置  开发环境:VS2015、三方库 OpenGL、OpenCV。由于自己是简单应用,所以对其了解重心在
转载 2023-09-08 19:50:39
118阅读
具有Windows编程经验的人都知道,在Windows下用GDI作图必须通过设备上下文(DeviceContext,简写DC)调用相应的函数。用OpenGL作图也是类似,OpenGL函数是通过"渲染上下文"(RenderingContext,简写RC)完成三维图形的绘制。Windows下的窗口和设备上下文支持"位图格式"(PIXELFORMAT)属性,和RC有着位图结构上的一致。只要在创建RC时
# 使用 OpenGL 实现 iOS 渲染入门 在学习如何在 iOS 上使用 OpenGL 进行渲染时,我们主要有几个步骤需要遵循。从创建基本的 iOS 项目,到集成 OpenGL,再到实际的渲染图形,整个过程是循序渐进的。本文将详细介绍每一步的实现。 ## 整体流程 以下是实现 iOS OpenGL 渲染的简单流程: | 步骤 | 描述
原创 10月前
105阅读
前言本文我们的目标是来了解一下OpenGL渲染架构的模型以及数据传递的3种⽅式。正文架构图通过这个流程图,我们不难发现OpenGL渲染分为两大部分,Client(客户端)和Server(服务端),这里的Client和Server跟我们日常开发中接触到的概念不同。OpenGL渲染过程中,Client是指在CPU中执行的代码块,比如C/C++的编码、OpenGL封装的API;Server则代表在GP
转载 2024-04-18 19:32:38
111阅读
# Android OpenGL 图片渲染的探索 在Android开发过程中,OpenGL(Open Graphics Library)是一个非常有用的工具,主要用于创建和处理图形。特别是在需要高性能图形渲染的场景中,OpenGL提供了强大的功能。而在本文中,我们将探索如何在Android中使用OpenGL进行图片渲染。 ## 什么是OpenGLOpenGL是一个跨语言、跨平台的应用程序
原创 9月前
38阅读
 引擎与图形学图形学一般最开始先了解的是图形API,Opengl、DX以及Metal和最新的Vulkan。而我们常说的引擎,是一个庞大的软件,通过精妙的上层架构,诠释真实世界中的物体层级关系、属性,厘清这些物体关系之后,将数据送给底层图形API完成最终的呈现。 PS:关于这一点,因为在一个实际商用游戏的制作或者图形渲染中,不只是简简单单一个三角形、一个模型就可以了,而是包含成千上万
### 在iOS中使用OpenGL渲染YUV 在iOS开发中,有时候我们需要使用OpenGL渲染YUV格式的视频数据。YUV是一种常见的视频数据格式,它将颜色信息和亮度信息分开存储,通常用于视频编码和解码。在本文中,我们将介绍如何在iOS应用中使用OpenGL渲染YUV视频数据。 #### YUV格式 YUV是一种将像素的颜色信息和亮度信息分开存储的视频数据格式。它通常以YUV420格式
原创 2024-02-24 04:06:16
225阅读
先简单了解OpenGL渲染的基本原理,可以参考:LearnOpenGL CN 以下先对其作主要的摘录。在OpenGL中,任何事物都在3D空间中,而屏幕和窗口却是2D像素数组,这导致OpenGL的大部分工作都是关于把3D坐标转变为2D像素。3D坐标转为2D坐标的处理过程是由OpenGL的图形渲染管线(Graphics Pipeline)管理的。图形渲染管线可以被划分为两个主要部分:第一部分把3D坐标
OpenGL中的坐标是带有深度信息的三维坐标,把这些三维坐标转换成可以在LCD上显示的二维坐标,这个过程叫做pipeline。pipeline分为以下两个步骤: 第一步:将坐标值由3D的转换成2D。 第二步:对第一步中的2D坐标赋予颜色值(RGBA)。GPU的并行运算,就是同时跑成千上万个小程序,这些小程序都在执行pipeline这一流程。 这一个个小程序,就成为OpenGL中的Shader
转载 2023-11-29 20:04:42
115阅读
# Python openGL渲染纹理图片 ## 简介 本文将教会你如何使用Python和OpenGL渲染纹理图片。首先,我们将介绍整个流程,并使用表格展示每个步骤。然后,我们将详细说明每个步骤需要做什么,并提供相应的代码和注释。 ## 整体流程 下面是实现“Python openGL渲染纹理图片”的整体流程: | 步骤 | 描述 | | --- | --- | | 1 | 加载和编译着色
原创 2023-12-26 06:37:42
300阅读
我相信不止我一个人在学习OpenGL时遇到了这些问题,国内外的相关资料或解决方法很难找,也仅在glfw论坛里找到了几个提出这个问题的人,并摸索到了莫名其妙的解决方法,具体原因也没弄清楚。 这里也希望如果有遇到相同问题的人,也能搜索到我写的这些东西来暂时解决这个问题和它带来的烦恼。下面就是帧数的问题:1.opengl的代码在英特尔核心显卡上运行时帧数超高,会超过1000fps甚至达到2000fps,
最近几天,我都在学习如何在Cocos2d-x 3.2中使用OpenGL来实现对图形的渲染。在网上也看到了很多好的文章,在这些文章基础上做了这次的我个人认为比较完整的总结。当你了解了Cocos2d-x 3.2中对图形渲染的流程,你就会觉得要学会写自己的shader才是最重要的。 第一、渲染流程从2.x到3.x的变化在2.x中,渲染过程是通过递归渲染树(Rendering tree)这种图关
转载 2024-08-20 21:38:43
86阅读
UV420P) , NV12(YUV420SP)的方法,关于YUV的知识,可以看这里《YUV颜色编码解析》,同样会用到一些简单的OpenGL shader知识,可以看看OpenGL的着色器语言。为了书写方便,以下所谈的OpenGL特指OpenGL
转载 2023-05-24 08:55:01
358阅读
底层的底层GPU硬件 1: 数组 = 纹理一维数组是本地CPU最基本的数据排列方式,多维的数组则是通过对一个很大的一维数组的基准入口进行坐标偏移来访问的(至少目前大多数的编译器都是这样做的)。 一个小例子,一个MxN维的数组 a[i][j] = a[iM+j];我们可能把一个多维数组,映射到一个一维数组中去。这些数组我开始索引都被假定为0; 对于GPU,最基本的数据排列方式,是二维数组
在本篇博文中,我们将深入探讨如何使用Python和OpenGL渲染图片与OBJ模型。这个完整的过程涵盖了环境配置、编译过程、参数调优、定制开发、调试技巧和错误集锦,确保你能够充分掌握这一技术。 ## 环境配置 首先,我们需要搭建一个适合进行OpenGL开发的环境。以下是我的思维导图,清晰展示了所需的环境及工具。 ```mermaid mindmap root((Python OpenG
原创 5月前
50阅读
作者 Bill Licea-Kane 1.4 OpenGL渲染管线OpenGL实现了我们通常所说的渲染管线(rendering pipeline),它是一系列数据处理过程,并且将应用程序的数据转换到最终渲染的图像。图1-2所示为OpenGL 4.3版本的管线。自从OpenGL诞生以来,它的渲染管线已经发生了非常大的改变。OpenGL首先接收用户提供的几何数据(顶点和几何图元),并且将它输入到一系列
转载 9月前
13阅读
  • 1
  • 2
  • 3
  • 4
  • 5