You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
(10) |
Apr
(28) |
May
(41) |
Jun
(91) |
Jul
(63) |
Aug
(45) |
Sep
(37) |
Oct
(80) |
Nov
(91) |
Dec
(47) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(48) |
Feb
(121) |
Mar
(126) |
Apr
(16) |
May
(85) |
Jun
(84) |
Jul
(115) |
Aug
(71) |
Sep
(27) |
Oct
(33) |
Nov
(15) |
Dec
(71) |
2002 |
Jan
(73) |
Feb
(34) |
Mar
(39) |
Apr
(135) |
May
(59) |
Jun
(116) |
Jul
(93) |
Aug
(40) |
Sep
(50) |
Oct
(87) |
Nov
(90) |
Dec
(32) |
2003 |
Jan
(181) |
Feb
(101) |
Mar
(231) |
Apr
(240) |
May
(148) |
Jun
(228) |
Jul
(156) |
Aug
(49) |
Sep
(173) |
Oct
(169) |
Nov
(137) |
Dec
(163) |
2004 |
Jan
(243) |
Feb
(141) |
Mar
(183) |
Apr
(364) |
May
(369) |
Jun
(251) |
Jul
(194) |
Aug
(140) |
Sep
(154) |
Oct
(167) |
Nov
(86) |
Dec
(109) |
2005 |
Jan
(176) |
Feb
(140) |
Mar
(112) |
Apr
(158) |
May
(140) |
Jun
(201) |
Jul
(123) |
Aug
(196) |
Sep
(143) |
Oct
(165) |
Nov
(158) |
Dec
(79) |
2006 |
Jan
(90) |
Feb
(156) |
Mar
(125) |
Apr
(146) |
May
(169) |
Jun
(146) |
Jul
(150) |
Aug
(176) |
Sep
(156) |
Oct
(237) |
Nov
(179) |
Dec
(140) |
2007 |
Jan
(144) |
Feb
(116) |
Mar
(261) |
Apr
(279) |
May
(222) |
Jun
(103) |
Jul
(237) |
Aug
(191) |
Sep
(113) |
Oct
(129) |
Nov
(141) |
Dec
(165) |
2008 |
Jan
(152) |
Feb
(195) |
Mar
(242) |
Apr
(146) |
May
(151) |
Jun
(172) |
Jul
(123) |
Aug
(195) |
Sep
(195) |
Oct
(138) |
Nov
(183) |
Dec
(125) |
2009 |
Jan
(268) |
Feb
(281) |
Mar
(295) |
Apr
(293) |
May
(273) |
Jun
(265) |
Jul
(406) |
Aug
(679) |
Sep
(434) |
Oct
(357) |
Nov
(306) |
Dec
(478) |
2010 |
Jan
(856) |
Feb
(668) |
Mar
(927) |
Apr
(269) |
May
(12) |
Jun
(13) |
Jul
(6) |
Aug
(8) |
Sep
(23) |
Oct
(4) |
Nov
(8) |
Dec
(11) |
2011 |
Jan
(4) |
Feb
(2) |
Mar
(3) |
Apr
(9) |
May
(6) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2013 |
Jan
(2) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
(1) |
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Keith W. <ke...@va...> - 2001-03-05 23:52:16
|
Brian Paul wrote: > > Keith Whitwell wrote: > > > > Brian Paul wrote: > > > > > > CVSROOT: /cvsroot/mesa3d > > > Module name: Mesa > > > Repository: Mesa/src/tnl_dd/ > > > Changes by: brianp@usw-pr-cvs1. 01/03/05 14:40:10 > > > > > > Modified files: > > > Mesa/src/tnl_dd/: > > > t_dd_vbtmp.h > > > > > > Revision Changes Path > > > 1.6 +160 -116 Mesa/src/tnl_dd/t_dd_vbtmp.h > > > > > > Log message: > > > fixed segfaults when tex unit 1 enabled, but not unit 0 (conform) > > > > Brian, > > > > This should already be handled by the code in which checks > > if texcoordptr[0] is null, and if so assigns it to texcoordptr[1] (the > > maximally numbered texcoordptr must be nonnull). > > > > The question is why this mechanism didn't work in your case - what hardware > > demonstrated the problem? > > i810 running 'conform -1 multitex.c' VB->TexCoordPtr[0] was null and causing > the segfault, around line 188 in t_dd_vbtmp.h. I've found a way for this to happen. Can you confirm that this occurs via 'i810_emit_contiguous_verts()' ? Keith |
From: Brian P. <br...@va...> - 2001-03-05 23:30:17
|
Keith Whitwell wrote: > > Brian Paul wrote: > > > > CVSROOT: /cvsroot/mesa3d > > Module name: Mesa > > Repository: Mesa/src/tnl_dd/ > > Changes by: brianp@usw-pr-cvs1. 01/03/05 14:40:10 > > > > Modified files: > > Mesa/src/tnl_dd/: > > t_dd_vbtmp.h > > > > Revision Changes Path > > 1.6 +160 -116 Mesa/src/tnl_dd/t_dd_vbtmp.h > > > > Log message: > > fixed segfaults when tex unit 1 enabled, but not unit 0 (conform) > > Brian, > > This should already be handled by the code in which checks > if texcoordptr[0] is null, and if so assigns it to texcoordptr[1] (the > maximally numbered texcoordptr must be nonnull). > > The question is why this mechanism didn't work in your case - what hardware > demonstrated the problem? i810 running 'conform -1 multitex.c' VB->TexCoordPtr[0] was null and causing the segfault, around line 188 in t_dd_vbtmp.h. -Brian |
From: Keith W. <ke...@va...> - 2001-03-05 23:13:17
|
Brian Paul wrote: > > CVSROOT: /cvsroot/mesa3d > Module name: Mesa > Repository: Mesa/src/tnl_dd/ > Changes by: brianp@usw-pr-cvs1. 01/03/05 14:40:10 > > Modified files: > Mesa/src/tnl_dd/: > t_dd_vbtmp.h > > Revision Changes Path > 1.6 +160 -116 Mesa/src/tnl_dd/t_dd_vbtmp.h > > Log message: > fixed segfaults when tex unit 1 enabled, but not unit 0 (conform) Brian, This should already be handled by the code in 'check_tex_sizes', which checks if texcoordptr[0] is null, and if so assigns it to texcoordptr[1] (the maximally numbered texcoordptr must be nonnull). The question is why this mechanism didn't work in your case - what hardware demonstrated the problem? Keith |
From: Gareth H. <ga...@va...> - 2001-03-04 06:47:19
|
Keith Whitwell wrote: > > Brian Paul wrote: > > > > > Log message: > > used indent to clean-up the code > > Hooray! Speaking of whitespace cleanups, I like having this in my .emacs file: (defun gth-rm-trailing-spaces () "Remove trailing whitespace from all lines in the current buffer." (interactive) (if (or (eq major-mode 'c-mode) (eq major-mode 'asm-mode) (eq major-mode 'makefile-mode)) (progn (message "removing trailing whitespace...") (save-excursion (goto-char (point-min)) (while (re-search-forward "[ \t]+$" nil t) (delete-region (match-beginning 0) (save-excursion (end-of-line) (point)))))))) (defun gth-rm-trailing-blank-lines () "Remove trailing blank lines from the current buffer." (interactive) (if (or (eq major-mode 'c-mode) (eq major-mode 'asm-mode) (eq major-mode 'makefile-mode)) (progn (message "removing extra lines at end of file...") (save-excursion (goto-char (point-max)) (while (and (eq 0 (forward-line -1)) (looking-at "^[ \t]*$"))) (delete-matching-lines "^[ \t]*$"))))) (add-hook 'write-file-hooks 'gth-rm-trailing-spaces) (add-hook 'write-file-hooks 'gth-rm-trailing-blank-lines) Every time you save, it strips trailing whitespace and trailing blank lines from the file. -- Gareth |
From: Keith W. <ke...@va...> - 2001-03-04 01:20:04
|
Brian Paul wrote: > > Log message: > used indent to clean-up the code Hooray! Keith |
From: Gareth H. <ga...@va...> - 2001-03-02 17:11:14
|
I really like the way this has come together. I'm just filling out the FetchTexel routines for the non-standard formats at the moment, but all in all I think the texture image handling is much more driver-friendly. This, combined with the changes to the DD API for Tex[Sub]Image*, means that texture state and image handling will be cleaner and certainly more efficient where hardware drivers are concerned. -- Gareth |
From: Gareth H. <ga...@va...> - 2001-03-02 16:08:30
|
Brian Paul wrote: > > I've fixed it. It was just a silly mistake. I'd made the same change locally, but wasn't sure if this was the intended fix. > The imports stuff is based on the OpenGL SI. The idea is that the __GLimports > struct is OpenGL's interface to basic system functions such as stdio, memory > allocation, getenv, etc. > > The goal is to make Mesa more interchangable with the SI. It's not done yet. It's certainly a nice way to handle this kind of stuff. -- Gareth |
From: Brian P. <br...@va...> - 2001-03-02 16:03:04
|
Gareth Hughes wrote: > > I think this is pretty fatal: > > static char * > _mesa_getenv(__GLcontext *gc, const char *var) > { > (void) gc; > return gc->imports.getenv(gc, var); > } > > void > _mesa_InitDefaultImports(__GLimports *imports, void *driverCtx, void > *other) > { > ... > imports->getenv = _mesa_getenv; > ... > } > > It seems that this: > > static void > _mesa_warning(__GLcontext *gc, char *str) > { > GLboolean debug; > #ifdef DEBUG > debug = GL_TRUE; > #else > /* Whacko XFree86 macro: > */ > #ifdef getenv > #undef getenv > #endif > if (gc->imports.getenv(gc, "MESA_DEBUG")) { > debug = GL_TRUE; > } > else { > debug = GL_FALSE; > } > #endif > if (debug) { > fprintf(stderr, "Mesa warning: %s\n", str); > } > } > > is preventing _mesa_getenv() from just calling getenv(), right? There's > obviously stuff going on here that I don't know about, so I'll leave it > up to you Brian. I've fixed it. It was just a silly mistake. The imports stuff is based on the OpenGL SI. The idea is that the __GLimports struct is OpenGL's interface to basic system functions such as stdio, memory allocation, getenv, etc. The goal is to make Mesa more interchangable with the SI. It's not done yet. -Brian |
From: Gareth H. <ga...@va...> - 2001-03-02 05:51:28
|
I think this is pretty fatal: static char * _mesa_getenv(__GLcontext *gc, const char *var) { (void) gc; return gc->imports.getenv(gc, var); } void _mesa_InitDefaultImports(__GLimports *imports, void *driverCtx, void *other) { ... imports->getenv = _mesa_getenv; ... } It seems that this: static void _mesa_warning(__GLcontext *gc, char *str) { GLboolean debug; #ifdef DEBUG debug = GL_TRUE; #else /* Whacko XFree86 macro: */ #ifdef getenv #undef getenv #endif if (gc->imports.getenv(gc, "MESA_DEBUG")) { debug = GL_TRUE; } else { debug = GL_FALSE; } #endif if (debug) { fprintf(stderr, "Mesa warning: %s\n", str); } } is preventing _mesa_getenv() from just calling getenv(), right? There's obviously stuff going on here that I don't know about, so I'll leave it up to you Brian. -- Gareth |
From: Brian P. <br...@va...> - 2001-02-26 18:53:29
|
Andrew Richardson wrote: > > Is there a main function in Mesa that is only called once per library load? > I could use a once per context, so that would do... In src/context.c you'll find the one_time_init() function. It's called everytime a new context is created but its code is protected by a static init flag so it only executes once. -Brian |
From: Brian P. <br...@va...> - 2001-02-26 18:52:17
|
Andrew Richardson wrote: > > Dear All, > Ive just come over from the DRI devel list. I've been looking at providing > an SMP dispatch layer to Mesa to provide a means by which even if a client is > not multithreaded you can still get the whole process running ~2 as fast. I > have'nt got the concentration to enumerate exactly how it works as ive been > up ~all~ night coding. :) > Anyway I need some way to hook a set of dummy functions into mesa so that > the client thinks the real openGL routine has been called without breaking > the ABI (that I assume exists in Mesa). I can quite happily using the > _mesa_<function-name> and _tnl_<function-name> but they don't cover the whole > API. I need to know where the other functions are. > If anyone has a better idea of how to hook a set of routines info mesa > without breaking the ABI I would like to know. I know that you have some sort > of override layer thing. How does that work? Does it alow me to get my > routines called without knackering the ABI, but does mesa then call the > original layer or is that my responibility? If anyone can tell me I would be > greatful. You can override any GL entrypoint function by patching into the API dispatch tables. In the GLcontext struct you'll see: /* API function pointer tables */ struct _glapi_table *Save; /* Display list save funcs */ struct _glapi_table *Exec; /* Execute funcs */ struct _glapi_table *CurrentDispatch; /* == Save or Exec !! */ If you wanted to override glHint() for example, you'd do something like ctx->Exec->Hint = myHintFunction; Then, you might have: void myHintFunction(GLenum hint, GLenum value) { /* my hint code here */ /* call normal Mesa hint function */ _mesa_Hint(hint, value); } -Brian |
From: Brian P. <br...@va...> - 2001-02-26 18:49:15
|
Andrew Richardson wrote: > > On Sunday 25 February 2001 12:40, you wrote: > > Andrew Richardson wrote: > > > Cal anyone tell me what glBegin /glEnd actually is in Mesa? I thought > > > everything went to _mesa_Begin...sort of thing, but not so :( It MUST be > > > in there somewhere, surely :) > > > > Let's move this discussion to mesa3d-dev... > > > > What version are you talking about? > > 3.5 > > I need to override the functions _mesa_<gl base name> and the like. > I don't think that I can just faf about with glapitemp.h etc as is there not > something special about the ABI, and I don't want to bugger that up. > Is there anyway I can call _mesa_<function_name> from inside mesa. > I know I can do it for a lot of functions, _tnl_<function name> and > _mesa_<function_name> cover almost all of the api. BUT I can find things like > Index (color index function). Can you advise? glIndexi() ends up calling _tnl_Indexi() in src/tnl/t_imm_api.c. Other versions of glIndex*() call glIndexi(). Are there other ones you're confused by? -Brian |
From: Gareth H. <ga...@va...> - 2001-02-26 16:59:41
|
Brian Paul wrote: > > Are you sure you have the most recent code? I fixed this problem a > while back. > > The current code in 3.5 is: > > destTex = _mesa_select_tex_image(ctx, texUnit, target, level); > > if (!destTex) { > gl_error(ctx, GL_INVALID_OPERATION, "glTexSubImage2D"); > return GL_TRUE; > } My mistake. The current 3.4.1-based DRI trunk code has this: destTex = texUnit->CurrentD[dimensions]->Image[level]; I obviously need to merge the 3.4.1 updates into my branch. Sorry for the false alarm. -- Gareth |
From: Brian P. <br...@va...> - 2001-02-26 16:55:34
|
Gareth Hughes wrote: > > I'm running through the new Radeon texture state code and came across > this. I've implemented full 1D and 2D texture image support (3D support > needs a bit more testing), and came across this: > > destTex = texUnit->CurrentD[2]->Image[level]; > if (!destTex) { > gl_error(ctx, GL_INVALID_OPERATION, "glTexSubImage2D"); > return GL_TRUE; > } > > This seems to suggest that subtexture_error_check() will always fail if > the target is not GL_TEXTURE_2D. Perhaps I'm the only one silly enough > to be looking at 1D and 3D subimage updates... > > I'm changing the above to this: > > destTex = texUnit->Current->Image[level]; > > Are there any obvious hidden nasties in doing so? Are you sure you have the most recent code? I fixed this problem a while back. The current code in 3.5 is: destTex = _mesa_select_tex_image(ctx, texUnit, target, level); if (!destTex) { gl_error(ctx, GL_INVALID_OPERATION, "glTexSubImage2D"); return GL_TRUE; } -Brian |
From: Gareth H. <ga...@va...> - 2001-02-26 16:43:36
|
I'm running through the new Radeon texture state code and came across this. I've implemented full 1D and 2D texture image support (3D support needs a bit more testing), and came across this: destTex = texUnit->CurrentD[2]->Image[level]; if (!destTex) { gl_error(ctx, GL_INVALID_OPERATION, "glTexSubImage2D"); return GL_TRUE; } This seems to suggest that subtexture_error_check() will always fail if the target is not GL_TEXTURE_2D. Perhaps I'm the only one silly enough to be looking at 1D and 3D subimage updates... I'm changing the above to this: destTex = texUnit->Current->Image[level]; Are there any obvious hidden nasties in doing so? -- Gareth |
From: Andrew R. <and...@uc...> - 2001-02-26 13:02:49
|
Is there a main function in Mesa that is only called once per library load? I could use a once per context, so that would do... Thanks in advance Andy -- \\\|/// \\ - - // ( @ @ ) +---------------o00o----(_)----o00o-------------------------------------+ |Andy Richardson Dept. of Chemistry | |t(w): +44-20-7679 (4718) University college London | |f(w): +44-20-7679 (4560) Gordon street | |e: and...@uc... London WC1E 6BT UK | +------------------------------0ooo-------------------------------------+ ooo0 ( ) ( ) ) / \ ( (_/ \_) |
From: Andrew R. <and...@uc...> - 2001-02-25 13:34:06
|
Dear All, Ive just come over from the DRI devel list. I've been looking at providing an SMP dispatch layer to Mesa to provide a means by which even if a client is not multithreaded you can still get the whole process running ~2 as fast. I have'nt got the concentration to enumerate exactly how it works as ive been up ~all~ night coding. :) Anyway I need some way to hook a set of dummy functions into mesa so that the client thinks the real openGL routine has been called without breaking the ABI (that I assume exists in Mesa). I can quite happily using the _mesa_<function-name> and _tnl_<function-name> but they don't cover the whole API. I need to know where the other functions are. If anyone has a better idea of how to hook a set of routines info mesa without breaking the ABI I would like to know. I know that you have some sort of override layer thing. How does that work? Does it alow me to get my routines called without knackering the ABI, but does mesa then call the original layer or is that my responibility? If anyone can tell me I would be greatful. Thanks Andy -- \\\|/// \\ - - // ( @ @ ) +---------------o00o----(_)----o00o-------------------------------------+ |Andy Richardson Dept. of Chemistry | |t(w): +44-20-7679 (4718) University college London | |f(w): +44-20-7679 (4560) Gordon street | |e: and...@uc... London WC1E 6BT UK | +------------------------------0ooo-------------------------------------+ ooo0 ( ) ( ) ) / \ ( (_/ \_) |
From: Andrew R. <and...@uc...> - 2001-02-25 13:18:54
|
On Sunday 25 February 2001 12:40, you wrote: > Andrew Richardson wrote: > > Cal anyone tell me what glBegin /glEnd actually is in Mesa? I thought > > everything went to _mesa_Begin...sort of thing, but not so :( It MUST be > > in there somewhere, surely :) > > Let's move this discussion to mesa3d-dev... > > What version are you talking about? 3.5 I need to override the functions _mesa_<gl base name> and the like. I don't think that I can just faf about with glapitemp.h etc as is there not something special about the ABI, and I don't want to bugger that up. Is there anyway I can call _mesa_<function_name> from inside mesa. I know I can do it for a lot of functions, _tnl_<function name> and _mesa_<function_name> cover almost all of the api. BUT I can find things like Index (color index function). Can you advise? Thanks Andy -- \\\|/// \\ - - // ( @ @ ) +---------------o00o----(_)----o00o-------------------------------------+ |Andy Richardson Dept. of Chemistry | |t(w): +44-20-7679 (4718) University college London | |f(w): +44-20-7679 (4560) Gordon street | |e: and...@uc... London WC1E 6BT UK | +------------------------------0ooo-------------------------------------+ ooo0 ( ) ( ) ) / \ ( (_/ \_) |
From: Keith W. <ke...@va...> - 2001-02-22 18:55:41
|
Yuan-chung Lee wrote: > > Hello: > > I am researching the 3D graphics algorithm, and I need to modify the Mesa > source codes to do some tests. My previous develop environment on Solaris OS > is: VIM + command-line compilation + DDD. > > I will try to use KDevelop. Does anyone have the KDevelop Project file > for Mesa-3.4.1 ? Gak. > Is there any other better IDE(Integrated Development Enviroment) for > development of Mesa on Solaris? emacs + M-x compile + M-x gdb. Keith |
From: Yuan-chung L. <yz...@cc...> - 2001-02-22 17:45:45
|
Hello: I am researching the 3D graphics algorithm, and I need to modify the Mesa source codes to do some tests. My previous develop environment on Solaris OS is: VIM + command-line compilation + DDD. I will try to use KDevelop. Does anyone have the KDevelop Project file for Mesa-3.4.1 ? Is there any other better IDE(Integrated Development Enviroment) for development of Mesa on Solaris? |
From: Keith W. <ke...@va...> - 2001-02-21 18:42:34
|
Keith Whitwell wrote: > > Gareth Hughes wrote: > > > > I've been working on this a bit lately, and the biggest stumbling block > > at the moment is my lack of intimate knowledge of the X11 driver. I > > will change this at some point perhaps, but in an effort to get this > > done I'll probably move my work over to a hardware driver. > > > > As it stands, there seem to be some inconsistencies between the latest > > 3.5 sources and the mesa-3-5-branch of DRI CVS (notably > > swrast/s_quads.[ch] and tnl/t_vb_materials.[ch] have gone). It looks > > like the i810 still needs t_vb_materials.c, as it uses > > _tnl_update_material_stage. Keith? > > I've found the vb_materials changes in radeon_context.c and i810_context.c, > but I'm pretty sure the Imakefile changes have been committed. The OSmesa makefile still uses ../swrast/?*.o to reference objects; you may need to remove those .o files to proceed. Keith |
From: Keith W. <ke...@va...> - 2001-02-21 18:29:53
|
Gareth Hughes wrote: > > I've been working on this a bit lately, and the biggest stumbling block > at the moment is my lack of intimate knowledge of the X11 driver. I > will change this at some point perhaps, but in an effort to get this > done I'll probably move my work over to a hardware driver. > > As it stands, there seem to be some inconsistencies between the latest > 3.5 sources and the mesa-3-5-branch of DRI CVS (notably > swrast/s_quads.[ch] and tnl/t_vb_materials.[ch] have gone). It looks > like the i810 still needs t_vb_materials.c, as it uses > _tnl_update_material_stage. Keith? I've found the vb_materials changes in radeon_context.c and i810_context.c, but I'm pretty sure the Imakefile changes have been committed. Keith |
From: Gareth H. <ga...@va...> - 2001-02-21 16:16:33
|
I've been working on this a bit lately, and the biggest stumbling block at the moment is my lack of intimate knowledge of the X11 driver. I will change this at some point perhaps, but in an effort to get this done I'll probably move my work over to a hardware driver. As it stands, there seem to be some inconsistencies between the latest 3.5 sources and the mesa-3-5-branch of DRI CVS (notably swrast/s_quads.[ch] and tnl/t_vb_materials.[ch] have gone). It looks like the i810 still needs t_vb_materials.c, as it uses _tnl_update_material_stage. Keith? -- Gareth |
From: Allen A. <ak...@po...> - 2001-02-20 19:26:24
|
On Tue, Feb 20, 2001 at 10:22:28AM -0700, Brian Paul wrote: | I want to experiment with shadow map sampling. Linear filtering | won't necessarily give better results than nearest filtering. | Consider the discontinuities along object profiles. I might try | taking 4 depth samples, perform 4 R comparisons then use the | results of those 4 tests to determine if the fragment is shadowed | or not. I'm also curious how mipmapping will work out. If I remember correctly, SGIX_shadow is written so that the depth comparisons happen before the mipmap filtering. So in theory you get a shadow value ranging from 0.0 to 1.0, rather than a hard-edged 0.0-or-1.0, and you avoid misclassifying geometry near edges. It's still possible to get artifacts from depth-value quantization and undersampling, of course. Allen |
From: Stephen J B. <sj...@li...> - 2001-02-20 17:26:50
|
On Wed, 21 Feb 2001, Gareth Hughes wrote: > Brian Paul wrote: > > > > While working on the texture image code I had to fix some > > things related to color index (paletted) texture images. That > > got me thinking about other texture formats like depth textures. > > So, I implemented the GL_SGIX_depth_texture extension and then > > GL_SGIX_shadow to exercise it. GL_SGIX_shadow_ambient was a > > simple addition on top of that. > > > > ... > > > > My implementation isn't 100% complete either. Right now, the > > depth texture is only sampled with nearest/nearest filtering > > and the texels are always stored as floats. I'll try to fix > > those things in the not-too distant future. > > Great work! I remember talking about this with you at SIGGRAPH last > year -- I'm really interested in checking this out. It's not a universal panacea though. The most serious problem is that the resolution with which the polygon is rendered from the perspective of the light source generally differs radically from the resolution it'll appear to be from the perspective of the viewer. Hence, you can get shadows plastered inappropriately on the wrong surfaces - or the shadows may have VERY pixellated or have severe aliasing artifacts. But - having said that - in the right situations it works amazingly well. It's a clever hack. You just have to know when you can and can't use it. ---- Steve Baker (817)619-2657 (Vox/Vox-Mail) L3Com/Link Simulation & Training (817)619-2466 (Fax) Work: sj...@li... http://www.link.com Home: sjb...@ai... http://web2.airmail.net/sjbaker1 |