3D基础--Vertex

3D图形由顶点、边、面等构成,顶点作为最小元素,可被多边形共享。在Android开发中,顶点用浮点数数组表示并存储在Buffer中以提升性能。Vertex Shader在GPU上执行,确定顶点位置,为Fragment Shader传递变量。Fragment Shader负责绘制可见像素的颜色,结合光照、纹理等效果。OpenGL的ShaderProgram确保Vertex Shader和Fragment Shader协同工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个3D图形通常是由一些小的基本元素(顶点,边,面,多边形)构成。

Vertex (顶点)

顶点是3D建模时用到的最小构成元素,顶点定义为两条或是多条边交会的地方。在3D模型中一个顶点可以为多条边,面或是多边形所共享。一个顶点也可以代表一个点光源或是Camera的位置。在Android系统中可以使用一个浮点数数组来定义一个顶点,浮点数数组通常放在一个Buffer(java.nio)中来提高性能。

Shader 

Vertex Shader 会被GPU 执行多次,确定顶点的最后的位置,相机和镜头和所在位置也对其有影响,换负责向Fragment shader准备和提供一些变量。通常我们可以在vertex shader中定义变量,而不是在Fragment shader。

Fragment Shader

假如立方体。在特定的位置和角度,我们只能看到部分面和组成这些面的顶点,这就是FragmentShader做的,它会负责所有可见面上所有像素点的绘制(根据 材料 效果,光影,折射,反射,纹理,所有我们想要的效果均会在这里处理)。最后都是RGBA的的像素颜色做为输出给

注意并非真正的像素,因为渲染器和最后呈现在屏幕上的图片,会根据设备的分辨率等 和 渲染器的配置 缩小或放大。

OPENGL 通过ShaderProgram将会成对编译Vertex Shader 和Fragment Shader,保证强制的一对一协同工作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值