中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 2914|回复: 9

请教一个opengl shader的问题

[复制链接]
发表于 2013-8-7 16:53:20 | 显示全部楼层 |阅读模式
本人现在在写一个shader,其中fragmentshader里,我希望可以获得该点的纹理坐标的s和t向量,请问有没有办法获得呢?
发表于 2013-8-7 17:53:01 | 显示全部楼层
可以把纹理坐标的值从vertex shader中传到fragment shader中啊,然后访问st
 楼主| 发表于 2013-8-7 19:36:59 | 显示全部楼层
apapaxionga 发表于 2013-8-7 17:53
可以把纹理坐标的值从vertex shader中传到fragment shader中啊,然后访问st

我想要向量唉 不是坐标
发表于 2013-8-7 22:39:02 | 显示全部楼层
flexwang 发表于 2013-8-7 19:36
我想要向量唉 不是坐标

切线向量?那也一样,传顶点切线吧
 楼主| 发表于 2013-8-7 22:46:57 | 显示全部楼层
Davis 发表于 2013-8-7 22:39
切线向量?那也一样,传顶点切线吧

顶点切线?我想要的是得到的s、t向量和n向量正好可以做坐标系唉
发表于 2013-8-8 00:08:36 | 显示全部楼层
本帖最后由 Davis 于 2013-8-8 00:23 编辑
flexwang 发表于 2013-8-7 22:46
顶点切线?我想要的是得到的s、t向量和n向量正好可以做坐标系唉

pbrt 的triangle mesh不是有tangent嘛,传进去之后VS里面t = cross ( s, n ),然后s, n, t传到FS里Normalize ( t ), Normalize ( n ), s = cross ( t, n )就能保证正交了吧
发表于 2013-8-9 02:03:43 | 显示全部楼层
看你用的平台,有的引擎可以直接在shader中用语义取到法线,次法线,切线,如果没有绑定,那就自己传切线和法线,然后cross出次法线。
发表于 2013-8-13 23:26:50 | 显示全部楼层
做叉乘就可以得到副法向量  然后Gram Schmidt算法就可以把三个向量正交化
发表于 2018-10-17 17:43:11 | 显示全部楼层
680就是个低功耗版本的过渡产品,当然不是想当然的那样越来越好。
发表于 3 天前 | 显示全部楼层
谢谢分享了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2019-1-23 16:26 , Processed in 0.081577 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表