-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 About a year and a half ago, I posted a spec to the OpenGL extension registry for what is now known as array textures. At the time, this was the basis of a paper that I was writing for SIGGRAPH 2006. Unbeknown to me, this functionality was implemented in the as yet unreleased Xbox360, so my paper was not terribly relevant. In part because of this, my patches that implemented the extension languished.
Since that time, Nvidia has released a very similar spec, and interest in the functionality has increased. There really is a lot of cool stuff that can be done very easily with array textures. I have decided to revive my patches and update my previous extension spec. Array textures are currently exposed via 3 different extensions. Each is listed with a brief summary below. MESAX_texture_stack: - Fragment (and vertex) assembly programs supported. - GLSL not supported. - Shadow sampling not supported. - Texture compression not spec'ed. - Array elements are accessed using normalized coordinates [0, 1]. - Array elements attached to FBOs using FramebufferTexture[23]D. EXT_texture_array: - Fragment (and vertex) assembly programs not supported. - GLSL supported. - Shadow sampling supported. - Texture compression spec'ed. - Array elements are accessed using unnormalized coordinates [0, n-1]. - Array elements attached to FBOs using FramebufferTextureLayer. NV_gpu_program4: - Extends EXT_texture_array to support assembly programs. - Requires previous NV assembly extensions. - Adds a bunch of other functionality as well. My intention is to update the MESAX extension, and create a new extension called MESA_texture_array. This extension will be something of a cross between the existing MESAX extension and EXT_texture_array. The primary difference will be that assembly programs are supported (via the same mechanism as the existing MESAX) while GLSL is not. I have chosen this route for a couple reasons. From my previous patch, I already have assembly program modifications made. I would also like to see a route to expose this functionality to assembly programs without requiring all of the other Nvidia-isms. There are also changes planed for the GLSL infrastructure, so I'm reluctant to make big changes there. I've got quite a bit implemented already, but it's not quite done. Specifically, I need to add FBO support and mipmap generation. I also need to update the spec and tidy up some bits of the code. Here's my big question...should I hold off on this altogether until after Mesa 7.0, should I start a new branch, or should I push forward for inclusion in Mesa 7.0? -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQFGSJSRX1gOwKyEAw8RAhshAJ9Ush1APryDwjLUOzKS4PG6V7pyXACgnmsB kfu7DyzmcERl1QGdJbvW3Ag= =TUdz -----END PGP SIGNATURE----- ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev