2011-11-05 65 views
0

我是webgl.I的新手,想知道如何生成顶点和片段着色器值。 我看到一些样本,可以看到这些值的巨大数组。无法弄清楚这些值是如何生成的。是否有任何工具可以生成这些值。 我错过了什么吗?没有教程解释如何创建这些着色器值。 任何帮助,在此表示赞赏。webgl中的顶点和片段着色器值

+0

如果您告诉我们您正在查看什么样的样本,也许我们可以告诉您这些值是如何生成的。你在谈论顶点坐标值吗? – LarsH

+0

http://webglsamples.googlecode.com/hg/aquarium/aquarium.html。他们在他们的js文件中定义了巨大的价值.Didnt了解他们如何能够产生如此巨大的价值。 – Raghu

+0

http://veditor.plopbyte.net – Raghu

回答

3

你最可能看到的是他们的顶点或索引缓冲区信息。这些通常被存储为浮子的大阵列或整数,如下所示:

[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) Normal:(())(()) x:1.0,y:0.0,z:0.0)

而且你通常会把他们一堆砸到一个大长阵列。这些非常难以阅读,但通常由建模工具导出器生成并直接发送到GPU,因此通常没有太多人为交互。

我做了一点点write up回想一下你如何让WebGL解释这些值,但我不确定你对3D几何有多了解,因此可能有点过高。一些早期的学习WebGL的教训掩盖它在稍微详细:

Lesson 1Lesson 2

0

只需使用一些3D建模工具,你硝酸钾,如搅拌机,玛雅,3D Studio Max的,谷歌素描起来,没有按真的没关系。

这些值是由这些程序在您创建模型时生成的,例如,您想创建一条鱼,然后打开3D建模工具,在那里完成您的工作,然后将其导出为一个在3D模型的许多文件格式中,有.x,.fbx,collada等。生成的文件将包含在任何需要的位置渲染此3D鱼所需的所有信息,它将包含顶点位置,纹理坐标,法线(主要用于照明),也许是颜色和一堆其他东西。

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

相关问题