芯友网Xin1234.COM

发现2dx的director里面的matrixStack基本是没用的...我的天,什么鬼...



tna
发现2dx的director里面的matrixStack基本是没用的...
我的天,什么鬼...
狗争无世与
对啊
2.x遗留下来的东西了
tna
妈的,混淆视听
狗争无世与
你是要改cocos源码么
tna
我在重写自己引擎的变换矩阵pine
然后打算参考一下cocos,然后发现日了狗
变换矩阵pipeline
狗灰
?ant 胸,D3D9的话固定管线我知道的可以做硬件顶点、矩阵运算(只有坐标变换矩阵,没颜色变换矩阵),还有就是顶点着色、Alpha混合、纹理4种寻找模式、纹理缩放抗锯齿(XP6种,Win7多一种)。
OpenGL有哪些?
tna
?灰狗 兄记得真清楚,我没记住,但是记得是多了fragment

狗争无世与
ant去看一下vulkan的画三角形代码
让你想死
更复杂
tna
目前在用opengl层面暂时觉得够了
狗灰
?与世无争狗 Vulkan刚出来,不兼容老机器是硬伤。
狗争无世与
估计dx12也是那个尿性
tna
vulkan是啥东西?
?与世无争狗 
狗争无世与
opengl下一代
很不兼容的
tna
我的草
狗争无世与
vulkan的
tna
opengl是不是又废了的意思?
狗争无世与
暂时没有啊
狗灰
?ant 在Direct3D、OpenGL、Metal3D之后出来的一个新的图形库。
tna
狗争无世与
opengl不会废的,老教授们教学还是用的opengl的
tna
?灰狗 灰狗兄弄过vulkan了?
?与世无争狗 估计还能战个10年
狗灰
tna
狗争无世与
vulkan就是为了淘汰opengl用的
gl历史包袱太重了
tna
妈个鸡,不爽了
狗争无世与
gles可能成为他的子集
gles没问题啊,再战好多年,起码
体三.圳深
狗争无世与
dx12你看要啥时候火起来啊
tna
es不就是gl的子集吗?
怎么变成vulkan的子集啊?
狗争无世与
对啊,成为vulkan子集也不是不可能啊
以后gl老函数淘汰
tna
究竟vulkan和gl是什么关系?
狗争无世与
就留下gles用
狗灰

AMD R9 285 效果:

GTX 980 Ti 效果:
狗争无世与
以后就支持gles vlukan这些
也有坑你啊
可能啊
vulkan和dx12属于新一代图形接口啊,薄驱动了,基本能直接访问硬件了
tna
妈个鸡
狗争无世与
要通用还很难啊,对程序员要求更高了
tna
渲染管线一样不?
狗灰
tna
那是必然啊
?与世无争狗 渲染管线一样不?
如果一样,那还好,只是重新弄弄渲染api
vertex和fragment的也不用重新弄
狗争无世与
没问题吧,把gles玩转了也可以了
tna
狗争无世与
新一代图形接口要流行,还要时间啊
老机器淘汰挺慢的
tna
要在流行前弄回
才能在流行时赚钱
狗争无世与
想多了,搞这种的只有少部分公司
图形这东西,也就大公司哪种养一些学者写论文研究的
狗灰

?ant OpenGL才这两个啊?现在HLSL都这么多着色器了:
狗争无世与
很多大公司还都是国外的
tna
?灰狗 草,我就知道vertex geometry 和fragment
?灰狗 还有人用fragment来做物理模拟,这东西简直
狗灰
然而这些,我并不会用,只晓得HLSL比GLSL多一个离线编译。
thgif
fragment 是啥
。。
tna
其他那些压根没见过
unity还有个surfaceshader
这都不知道是啥东西
thgif
哦,是着色器啊
tna
狗灰
?ant SurfaceShader是表面着色器,字面意思看起来根据就跟像素着色器好像是一回事吧!
tna
?灰狗 不是的,unity也有vertex和fragment,surface跟多是一些开关

我现在搞不懂,为什么2dx不直接用gl自带的matrixstack
效率问题?
狗灰
但cocos的矩阵效率并不高
tna
thgif
它把每个节点自己的矩阵存到自己的对象里面
这有什么不对的吗?
tna
唉,年后看看能不能跳过20多的动作
thgif
这样写很好啊,
tna
看了那些行业资薪统计,心伤
狗灰
?fight 我是说它运算效率太低
thgif
可扩展性很强啊,
运算还好
矩阵计算,其实问题不大
他也做了一些优惠
优化
狗灰
优化个屁
thgif
主要你游戏的,瓶颈不在这
狗灰
?fight 你个人看一下它矩阵运算的源码就晓得了
光逆
thgif
他是拆开算的好像
狗争无世与
游戏做出来都不火的,你和我说效率?!
tna

游戏做出来都不火的,你和我说效率?!
thgif
其实4*4的矩阵完全可以去掉一个维度
狗争无世与
你看ce开发商都发不出工资了
thgif
但是没去掉,他想着以后发展3D了
狗灰

这真有,我们公司捕鱼在子龙山人:)的指导下开启矩阵运算的SSE优化后,安卓帧率瞬间提高很多。
光逆
thgif
写成通用的,总比写两套代码强
tna
狗争无世与
你们捕鱼是js写的么
thgif
反正我们瓶颈不在这。
tna
啥东西?灰狗 
狗争无世与
我们捕鱼也有瓶颈,不知道怎么优化了,lua哪里运算量贼大了,我都没用cocos的函数转换了,都是手写了
安卓低端机高峰还是掉帧
tna
?与世无争狗 you need 多线程
狗争无世与
lua你让我多线程,线程个鬼
tna
我们就弄了
狗争无世与
在update里面和c++交互,通讯贼费时
狗灰
?fight 不是3*3还是4*4的问题,我昨天举过例子:
比如一个平移变换,直接3个加法就搞定了:


然后cocos是用的创建一个平移矩阵,再用矩阵乘法:
狗争无世与
花的时间是我lua自己计算1.5倍
tna
thgif
恩恩,没有专门支持,矩阵计算。
狗争无世与
还要还用的jit加速,不然低端机高峰就卡的不行了
thgif
1
除了这个还有别的优化空间吗
矩阵计算的
?ant 
?灰狗 
狗灰
?fight 多得是,你上学时数学老师总教过你公式展开吧!
这就是优化的最基本方法
tna
?与世无争狗 这个感觉游戏逻辑还有优化的地方
thgif
恩呢,有道理
tna
齐次坐标的引入还是有必要的
只是单纯记录矩阵,可能只需要3*3
thgif
我看下
tna
但是一旦涉及到变换,不用齐次坐标,基本无法运行吧
狗灰
就像矩阵*一个平移矩阵的进行公式展开后,就是3个加法。还有*缩放矩阵公式展开后就是12个乘法。
不对4*4是16个乘法
狗争无世与
tna
狗争无世与
ant去看一下它的三角形代码
哈哈哈哈
tna
给个链接
狗争无世与
提前恶心一下自己
狗灰
?ant 2D一般用3*2就够了,除非要进行透视变换(梯形化变换)才用3*3的。
狗争无世与
给不了了,我翻不了墙了
最近不知道是墙厉害了,还是我网哟问题
访问国外网站贼慢
tna

?灰狗 也不能只管2d啊
哥哥雨你是我键关
一大早,都这么装逼真的好吗?
tna
?灰狗 我也不清楚3*2是咋回事
?灰狗 灰狗兄,解释一下
光逆
为啥2*2 不行啊
狗灰

?ant SSE是这个东西:
狗争无世与
完全看不懂灰狗再说神马了
https://vulkan-tutorial.com/Drawing_a_triangle/Setup?ant 
tna
?灰狗 灰狗兄过分了
臣妾看不懂
?与世无争狗 不知道怎么看
狗灰
?逆光 2D的话2*2只能进行线性变换(只有平行四边形化变形功能),3*2进行仿射变换(多一个平移变换功能),3*3进行透视变换(再多一个梯形化变形功能)。
光逆
soga
狗争无世与
tna
格空
erutuF
狗灰
同理3D多一个Z坐标变换,所以需要3*3线性变换、4*3仿射变换、4*4透视变换。
还有颜色变换矩阵,因为RGBA构造一个4D数据,而颜色变换一般不需要透视变换,所以用5*4的矩阵来变换。

相关问题
------分隔线----------------------------
赞助商链接
赞助商链接
推荐内容