首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将GLSL移植到AGAL的Stage3D

将GLSL移植到AGAL的Stage3D
EN

Stack Overflow用户
提问于 2013-02-12 15:30:10
回答 1查看 774关注 0票数 0

我正在尝试将这个GLSL阴影移植到Stage3D和AGAL,但我无法使它工作:

顶点着色(GLSL)

代码语言:javascript
复制
attribute vec3 aVertexPosition;
    attribute vec4 aVertexColor;

    uniform mat4 uMVMatrix;
    uniform mat4 uPMatrix;

    varying vec4 vColor;

    void main(void) {
        gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
        vColor = aVertexColor;
    }

片段阴影(GLSL)

代码语言:javascript
复制
    precision mediump float;

    varying vec4 vColor;

    void main(void) {
        gl_FragColor = vColor;
    }

其结果是:

顶点着色器

代码语言:javascript
复制
mov vt0.w, vc0.x
mov vt0.xyz, va0.xyz

mov vt1.xyzw, vc1
mul vt5.xyzw, vt1, vc5
m44 op.xyzw, vt0.xyzw, vt5
mov v0.xyzw, va1.xyzw

破片着色机

代码语言:javascript
复制
mov oc.xyzw, v0.xyzw

这里是我执行的指令的跟踪:

代码语言:javascript
复制
(setVertexBufferAt) va0 3 0
(setVertexBufferAt) va1 4 3
(identity setProgramConstantsFromMatrix): vc0 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1
(setProgramConstantsFromMatrix) vc1 1,0,0,0,0,1,0,0,0,0,1,0,0,0,-2,1
(setProgramConstantsFromMatrix) vc5 1.8106601238250732,0,0,0,0,2.4142136573791504,0,0,0,0,-1.0020020008087158,-1,0,0,-0.20020020008087158,0
render drawTriangles + present

但我还是什么也看不见。

更新:很明显,问题是三角形正在被裁剪。乘法数组上的值大于1.0,这使得它们被裁剪掉。所以我需要找到一种方法来规范矩阵或者扩展剪裁的

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2013-07-16 04:55:46

在这里挖掘一个旧的帖子,但是为了将来的搜索,你真的应该去看看:

https://github.com/adobe/glsl2agal

它的工作就像你所希望的那样--以有效的glsl顶点/片段着色器程序作为输入,将有效的agal作为输出。

举个例子:http://www.cmodule.org/glsl2agal/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14835957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档