|
From: Frank C <li...@si...> - 2004-02-09 21:27:54
|
I've been hammering Quesa recently and noticed a few problems, and some behaviour that may or may not be intentional. I plan at looking at these closer later this week but figured I'd post my findings in the meantime. NOTE: Everything below refers to Quesa's interactive renderer on the CVS. 1). Edge/point fill styles are textured if an object has a texture shader further down the pipe. This seems to be unintended behaviour, since IRRenderer_Update_Style_Fill deliberately turns off texturing for edge/point styles, and QD3D also draws these styles with color info only. 2). Face and geometry attribute sets on primitives don't always get along. e.g. Add a texture shader to a Box's attribute set, then add a face attribute set with another texture shader to a single face. This will result in the other five faces drawing without a texture. QD3D handles this correctly, drawing the first texture on the other five faces. 3). Diffuse/Transparency colours (either global, or on a face or vertex) have no effect on textured geometry. ir_texture_set_state sets TexEnv to modulate when lighting is enabled, so it appears the intended behaviour is too modulate geometry color as well. QD3D has this same problem, but modulates geometry colour when a null shader is being used, something Quesa explicitly prevents - So - What's intended here and what's broken? Personally I'd like to see geometry colour modulate with textures regardless of the current illumination, or at least the same behaviour as QD3D. 4). Transparency rendering is just plain broken. I don't even know where to start... - Transparent objects are jumbled when some or all vertices are outside the frustum (can lead to infinite point errors). I mentioned this on the old list before the move to Sourceforge - it seems to be tied to the new view transforms. - Transparency color vertex attributes on trimeshes are fudged (almost looks like every other one is skipped). Works on face attributes though... - An interpolation style of none disables lighting on transparent geometry. - Transparent objects with a null shader are lit Phong. - The lighting state doesn't seem to reset properly. e.g. a transparent object lit Phong will be lit Lambert if another object in the scene is using Lambert lighting (this may be related to the point above). - Major sorting errors. I realize some geometry simply can't be sorted properly, but it's consistently bad frame-to-frame. -- I can plop these into the bug base, but I'm not sure which: Sourceforge or the old Bugzilla? I'm also hoping to have some sort of regression suite built later this week to help track these down. Thanks, Frank. |