webgl中的顶点和片段着色器值

webgl中的顶点和片段着色器值,webgl,fragment-shader,vertex-shader,Webgl,Fragment Shader,Vertex Shader,我是webgl新手。我想知道顶点和片段着色器值是如何生成的。 我看到了一些示例,可以看到这些值的巨大数组。无法确定这些值是如何生成的。是否有生成这些值的工具。 我错过什么了吗?没有教程解释如何创建这些着色器值。 非常感谢您的帮助。您最可能看到的是它们的顶点或索引缓冲区信息。它们通常存储为大型浮点数或整数数组,如下所示: [1.0,2.0,3.0,0.5,0.5,1.0,0.0,0.0] 这可以根据顶点布局表示单个顶点的位置、纹理坐标和法线,如下所示: 位置:(x:1.0,y:2.0,z:3.0)

我是webgl新手。我想知道顶点和片段着色器值是如何生成的。 我看到了一些示例,可以看到这些值的巨大数组。无法确定这些值是如何生成的。是否有生成这些值的工具。 我错过什么了吗?没有教程解释如何创建这些着色器值。
非常感谢您的帮助。

您最可能看到的是它们的顶点或索引缓冲区信息。它们通常存储为大型浮点数或整数数组,如下所示:

[1.0,2.0,3.0,0.5,0.5,1.0,0.0,0.0]

这可以根据顶点布局表示单个顶点的位置、纹理坐标和法线,如下所示:

位置:(x:1.0,y:2.0,z:3.0) Texcoord:(u:0.5,v:0.5) 正常:(x:1.0,y:0.0,z:0.0)

通常,你会把一整串的碎片打成一个长长的大阵列。这些非常难以阅读,但通常由建模工具导出器生成,并直接发送到GPU,因此通常没有太多的人机交互

我刚才讲过如何让WebGL解释这些值,但我不确定您对3D几何体的了解程度,所以这可能有点太高了。一些早期学习WebGL课程对其进行了更详细的介绍:


您最可能看到的是它们的顶点或索引缓冲区信息。它们通常存储为大型浮点数或整数数组,如下所示:

[1.0,2.0,3.0,0.5,0.5,1.0,0.0,0.0]

这可以根据顶点布局表示单个顶点的位置、纹理坐标和法线,如下所示:

位置:(x:1.0,y:2.0,z:3.0) Texcoord:(u:0.5,v:0.5) 正常:(x:1.0,y:0.0,z:0.0)

通常,你会把一整串的碎片打成一个长长的大阵列。这些非常难以阅读,但通常由建模工具导出器生成,并直接发送到GPU,因此通常没有太多的人机交互

我刚才讲过如何让WebGL解释这些值,但我不确定您对3D几何体的了解程度,所以这可能有点太高了。一些早期学习WebGL课程对其进行了更详细的介绍:


只要使用一些3D建模工具,你知道,像Blender、Maya、3D Studio Max、Google Sketch up,其实并不重要

当您在其中创建模型时,这些值由这些程序生成,例如,您想创建一条鱼,然后打开三维建模工具,在那里进行工作,然后将其导出为三维模型的多种文件格式之一,即.x、.fbx、,collada等。生成的文件将包含在任意位置渲染此3D鱼所需的所有信息,它将包含顶点位置、纹理坐标、法线(主要用于照明)、颜色和一系列其他内容


因此,您只需选择其中一种文件格式,学习如何从中获取所需数据,以javascript(您所说的那些数组)可以评估的方式将信息传递给顶点/片段着色器。

只需使用一些3D建模工具,如Blender、Maya、3D Studio Max、Google Sketch up、,真的没关系

当您在其中创建模型时,这些值由这些程序生成,例如,您想创建一条鱼,然后打开三维建模工具,在那里进行工作,然后将其导出为三维模型的多种文件格式之一,即.x、.fbx、,collada等。生成的文件将包含在任意位置渲染此3D鱼所需的所有信息,它将包含顶点位置、纹理坐标、法线(主要用于照明)、颜色和一系列其他内容


因此,您只需选择其中一种文件格式,学习如何从中获取所需的数据,以javascript(您所说的那些数组)可以评估的方式将信息传递给顶点/片段着色器。

如果您告诉我们您正在查看的样本类型,也许我们可以告诉您值是如何生成的。你说的是顶点坐标值吗?在他们的js文件中定义了巨大的值。我不明白他们是如何生成如此大的值的。如果您告诉我们您正在查看的样本类型,也许我们可以告诉您这些值是如何生成的。你说的是顶点坐标值吗?在他们的js文件中定义了巨大的值。我不明白他们是如何生成如此大的值的。