查看单个帖子
旧 2009-05-05, 10:37 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】extending znearzfar clip planes in exgsopenglvectorizer

extending znear/zfar clip planes in exgsopenglvectorizer
extending znear/zfar clip planes in exgsopenglvectorizer
hi,
i'm having a slight problem with the projection matrix automatically generated by odgsbasevectorizedevice, or more specifically the automatic adaptation of the znear/zfar clip planes to the object data.
i have extended the exgsopenglvectorizedevice to display a custom opengl list after running the standard update. the problem is that parts of this custom list disappears because of the view frustum generated by odgsbasevectorizedevice:rojectionmatrix(). i have tried modifying the projection matrix directly, but that breaks the z-buffer ordering.
is there any way to extend the znear/zfar values generated by the base vectorizer?
there is virtual scenedept() function that is used to retreive these values.
actually i don't understand why you need to change them, why not just load your matrix after dd device update?
vladimir
quote:
originally posted by wvk
there is virtual scenedept() function that is used to retreive these values.
actually i don't understand why you need to change them, why not just load your matrix after dd device update?
i need to preserve z-ordering, and changing the projection matrix after dd has rendered its data seemed to affect the order. i assume this is because all vertices/triangles get their z-sort value based on the current frustum (e.g two vertices rendered at the same position, with different znear/zfar will result in two different z-order values, which leads to incorrect rendering).
as a result i need to modify the projection matrix before any rendering is done, and from the current api i dont't see how this is possible.
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)