GUI比我想象的麻烦多了,来发发牢骚
c++吧
全部回复
仅看楼主
level 13
⑨chu 楼主
消息响应咱还可以想办法,问题这个绘制实在是。。
咱面对的是D3D额,又不能像GDI一样想画什么画什么。。
还要考虑效率,把要绘制的东西全部组成到buffer里面,然后重绘的时候怎么更新buffer也是问题。。
想着把绘制函数定义成
void Render(float Time, CUIDrawer* Drawer)
然后通过Drawer完成绘图操作,Drawer同时刷新Buffer。突然发现这样设计一旦一个控件重绘了,整个控件链表都要重绘一遍
我了个去。。真是纠结!!!
[]
2012年04月22日 13点04分 1
level 11
不知道怎么实现部分重绘,我现在写的gui用gdi+完整重绘,每次要20-40ms,如果控件都是不透明矩形就好了[揉脸]
2012年04月22日 14点04分 2
level 13
⑨chu 楼主
GDI+都这样了。。
D3D更烦了,遍历整个控件树,对可见对象调用Render,重新组织Buffer(耗时)
还要渲染,而且每一帧都要渲染。。
我可不想把宝贵的RenderTarget浪费在UI上
2012年04月22日 14点04分 3
level 13
[啊!]直接图形引擎吧,应该没这么纠结了
2012年04月22日 14点04分 4
level 13
⑨chu 楼主
那就失去研究的意义了- -
2012年04月22日 14点04分 5
level 1
D3D的轮子很大[晕厥]
2012年04月22日 14点04分 6
level 11
虽不懂,但觉厉
给大婶膜拜了
2012年04月23日 01点04分 8
level 15
手动脏矩形什么的……其实也不是想象中的那么麻烦……只是要像我只能一路重构的就略蛋疼了。[揉脸]
2012年04月23日 02点04分 10
level 1
DrawPrimitive之后没办法lock 似乎是件应该吐槽的事?[飘过]
2012年04月23日 02点04分 11
level 13
⑨chu 楼主
画不是问题。。组织怎么画是问题
2012年04月23日 03点04分 12
level 12
兰州卖个萌
2012年04月23日 03点04分 13
level 1
以前问过一个类似问题 SetTransform 之后的Vertex buffer就没办法获取,想当蛋疼。
DrawPrimitive 似乎也一个味 vertex shader 还没接触 DrawPrimitiveUP倒是很方便的说[揉脸]

2012年04月23日 03点04分 14
level 10
有硬件加速啊,脏矩阵意义不大吧。无论如何都是要刷新的,用三角网络并不会太消耗性能吧·
2012年04月23日 04点04分 15
level 13
⑨chu 楼主
脏矩形。。
虽然有硬件加速,不过要考虑的东西不是一般的少。。
干脆弄个渲染命令队列好了。。- -
2012年04月23日 09点04分 16
level 12
不喜欢GUI怎么破,,,怀疑是自己的审美不好的原因,,,,[扯花]
2012年04月23日 09点04分 17
1