|Anonymous | Login||10-23-2021 10:21 UTC|
|Main | My View | View Issues | Change Log | Docs|
|Viewing Issue Simple Details [ Jump to Notes ]||[ View Advanced ] [ Issue History ] [ Print ]|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0000975||[Croquet] Jasmine||feature||always||03-14-05 23:01||03-14-05 23:01|
|Summary||0000975: [ENH] Tweaked TPrimitive to render transparent primitives correctly|
From the Changeset:
This allows TPrimitives to do more appropriate rendering when their material is transparent. It calls a new method (renderAlphaPrimitive:) when it knows the material has transparency<1.0, and calls the normal method (renderPrimitive:) otherwise.
Subclasses that know how to render their polygons in back-to-front order should do so in #renderAlphaPrimitive:.
The default alpha rendering method, TPrimitive->#renderAlphaPrimitive achieves correct ordering by calling #renderPrimitive: twice - once for the 'rear' polygons with glCullFace: GLFront, and once for the front polygons with glCullFace: GLBack (all with GLCullFace glEnable:'d).
This default method will only work correctly for convex objects, however..
This code only caches one version of the display list at a time - with or without alpha. If you are switching between transparent and opaque objects frequently, you should either use two separate objects, or implement a display list for each within TPrimitive (fairly simple).
|Attached Files||Alpha-TPrimitive.1.cs [^] (3,935 bytes) 03-14-05 23:01|
|There are no notes attached to this issue.|
|03-14-05 23:01||dbfaken||New Issue|
|03-14-05 23:01||dbfaken||File Added: Alpha-TPrimitive.1.cs|
| Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
29 total queries executed.|
24 unique queries executed.