美文网首页
构建和渲染一个三维图形的基本过程和基础概念

构建和渲染一个三维图形的基本过程和基础概念

作者: 爱玩保龄球 | 来源:发表于2024-12-24 20:01 被阅读0次

primitiveType(图元类型):

  • 图元是构成图形的基本单元,比如点、线、三角形等。primitiveType 是用来告诉渲染器要用什么样的基本单元来构成你的图形。比如:
    • 用点:绘制散点图。
    • 用线:绘制线框。
    • 用三角形:绘制复杂的表面。
  • vertexCount(顶点个数):
    - 顶点是一个点,通常包含位置信息,还可能有颜色、法线、纹理坐标等信息。vertexCount 就是你这个图形中有多少个点。
  • mBox(渲染区域):
    这是用来描述你要渲染的区域的大小和范围,通常用一个盒子(box)来表示。这个盒子就像一个容器,告诉渲染器在哪块区域内进行绘制。
  • mVertexBuffer(顶点属性缓存):
    这是用来存储每个顶点的数据的,比如:
    • 顶点的位置:在哪里。
    • 顶点的颜色:是什么颜色。
    • 顶点的纹理坐标:对应贴图的哪个部分。
    • 顶点的法线向量:用来计算光照效果。 渲染器会从这个缓存里取数据来绘制图形。
  • mIndexBuffer(顶点索引缓存):
    这个用来优化绘制过程。对于复杂的图形,有很多点会被重复使用,比如绘制一个由多个三角形组成的立方体。mIndexBuffer 存的是这些点的编号(索引),通过索引来重用点数据,减少内存占用。
  • mMaterial(模型材质):
    材质用来定义图形表面看起来是什么样子的,比如:
    • 是金属的还是木头的?
    • 是光滑的还是粗糙的?
    • 会不会反光?
    • 材质决定了图形的视觉效果,是渲染的重要一环。

简单类比

  • 把它想象成搭乐高积木:
    • primitiveType:你决定用什么形状的积木(点、线、三角形)。
    • vertexCount:你需要多少个积木块。
    • mBox:你搭建的区域多大(一个桌子大小)。
    • mVertexBuffer:每个积木的颜色、形状、纹理等信息。
    • mIndexBuffer:告诉你怎么重复使用积木(减少浪费)。
    • mMaterial:决定积木的表面材质,比如看起来像塑料还是木头。

相关文章

  • iOS核心动画总结

    基础概念 iOS图形架构 核心动画是 iOS 和 MacOS 上的图形渲染和动画基础结构,用于为应用的视图和...

  • SpriteKit之第一个项目

    1 名词概念 SpriteKit:提供一个图形渲染和动画的基础,可以有效的利用图形硬件来渲染动画的帧,而无须开发人...

  • OpenGL基本概念(知识)

    OpenGL基本概念 基本概念与说明 基本概念 OpenGL是一个图形API,用来绘制三维物体(也可以是2D物体)...

  • 图形渲染管线

    通过阅读本文,你将知道: 图形渲染的基本过程是怎样的? 计算机图形学视角下的图形渲染管线是怎样的? OpenGL视...

  • 零、OpenGL 渲染过程全面图解

    图形图像渲染流程如下图所示: 1、图形渲染技术栈 & 2、图形渲染流水线 3、图形渲染架构 4、图形渲染详细过程图...

  • 图形渲染流水线概念初识

    看了很多渲染图形渲染流程介绍的博客文章,依然没有在我的大脑中形成一个基本的概念流程。搜索到的要么是纯英文的概念图完...

  • 006-图形渲染:渲染命令编码器

    图形渲染:渲染命令编码器 这一章节讨论如何创建和使用 MTLRenderCommandEncoder、 MTLPa...

  • Unity学习—渲染知识基础

    关于Unity 渲染概念的基本知识,和部分技术名词解释 本文原地址:Unity学习—渲染知识基础 名词解释 纹理 ...

  • WebGL

    WebGL 使用户 绘制和渲染3D图形使用户 通过页面与三维图形交互技术栈: HTML、HTML5、JavaScr...

  • render pipe

    图形渲染管道 给定一个虚拟相机,三维物体模型,光源,着色方程,纹理等,通过渲染管道产生或渲染一张二维图像。 粗略的...

网友评论

      本文标题:构建和渲染一个三维图形的基本过程和基础概念

      本文链接:https://www.haomeiwen.com/subject/mpfvejtx.html