ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/TODO
(Generate patch)

Comparing deliantra/Deliantra-Client/TODO (file contents):
Revision 1.121 by root, Sun Jun 4 01:14:02 2006 UTC vs.
Revision 1.123 by root, Mon Jun 5 00:17:47 2006 UTC

612:17 <@schmorp> i do list all libs manually for pclient 612:17 <@schmorp> i do list all libs manually for pclient
712:17 <@schmorp> will have to do that for gce too 712:17 <@schmorp> will have to do that for gce too
812:17 <@schmorp> remind me of it 812:17 <@schmorp> remind me of it
912:17 <@schmorp> qwhen i next bundle it 912:17 <@schmorp> qwhen i next bundle it
10 10
11- IMPORTANT: password-entry dialog (query!) not hidden, should be fixed
12 together with removing query dialog altogether.
11- IMPORTANT: message log window often loses contents after refreshes/res switches 13- IMPORTANT: message log window often loses contents after refreshes/res switches
12 (m,aybe not, maybe after loging out and in again?) 14 (m,aybe not, maybe after loging out and in again?)
13 also: message log window now visibly flickers, must be soem horrid bug 15 also: message log window now visibly flickers, must be soem horrid bug
14- IMPORTANT: statusbox update timer 16- IMPORTANT: statusbox update timer
15- IMPORTANT: statusbox tooltip must not go away on updates 17- IMPORTANT: statusbox tooltip must not go away on updates
90allocating id 73 92allocating id 73
91OK 93OK
92set_face 4784 => 73 94set_face 4784 => 73
93libpng warning: Ignoring gAMA chunk with gamma=0 95libpng warning: Ignoring gAMA chunk with gamma=0
94 96
97 To achieve a more complete blending, you can have your drawing engine rasterize each transparent object more than once, altering in each pass the blending mode, object alpha channel, and buffer write masks. The first pass should perform RGB blending. Accordingly, you should disable writing any alpha channel or z buffer data during this pass.
98 /*first pass*/
99 glColorMask(TRUE, TRUE, TRUE, FALSE); /*disable alpha channel*/
100 glDepthMask(FALSE); /*disable Z buffer*/
101 if (premultpliedTransparency)
102 glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
103 else
104 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
105 /*render the object here*/
106
107 On the second pass, you should set the frame buffer alpha channel value to (1- a s )(1- a d ). To do this, you need to render the object again, with a different alpha value, as follows:
108 /*second pass*/
109 glColorMask(FALSE, FALSE, FALSE, TRUE); /*enable alpha channel*/
110 glDepthMask(FALSE); /*disable Z buffer*/
111 glBlendFunc(GL_ONE_MINUS_DST_ALPHA, GL_ZERO);
112 /*render the object with alpha replaced with 1-a*/
113
114 Finally, the third pass should replace the value in the alpha channel with the final value 1-((1- a s )(1- a d )). To do this, you need to render the object again, with its alpha value set to 1, as follows:
115 /*third pass*/
116 glColorMask(FALSE, FALSE, FALSE, TRUE); /*enable alpha channel*/
117 glDepthMask(TRUE); /*enable Z buffer*/
118 glBlendFunc(GL_ONE_MINUS_DST_ALPHA, GL_ZERO);
119 /*render the object with alpha replaced with 1*/
120
121

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines