tag:blogger.com,1999:blog-84722240201787335422024-02-19T16:42:29.544+01:00another bottle at searotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-8472224020178733542.post-30108271252182972842011-08-31T12:24:00.006+02:002011-08-31T14:03:46.664+02:00about using GL_ARB_get_program_binaryWhile trying to experiment with the GL_ARB_get_program_binary extension, I found various sample code that seemed a little flowed, while the 'official' sample code in the spec is fine.
To sum it up, when using glGetProgramBinary to fetch the binary representation of the shader (program is GL wording), OpenGL provides an 'opaque' binaryFormat value that is meant to be kept with the binary data. rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-22631528316284460362011-07-19T19:59:00.005+02:002011-07-19T20:50:42.657+02:00Discardable debug message logging in pythonAfter a short discussion about handling of diagnostics messages in python, and the cost of calling 'do nothing' functions in python, I just had an idea.The point is to be able to (quite) brainlessly insert calls to some debug logging function through python scripts.Alas, these calls have a cost, which we are willing to pay for a 'debug' run, but not a 'release' run, where things should go fast (rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-58251481655287213502010-12-22T16:14:00.003+01:002010-12-22T16:39:17.680+01:00Shameless plug, technical demoAt work, we've been up to creating a technical demonstration that features an architectural walk-through in an hotel lobby.Our start point has been VRay renderings done with the model, to setup the ambience. We then worked with RTGU pipeline to export from 3dsmax, and reproduce the lighting.The biggest challenge was reflections, that are present a little bit everywhere. I tried to approximate therotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com1tag:blogger.com,1999:blog-8472224020178733542.post-31811625057256529212010-04-28T20:39:00.008+02:002010-04-28T22:58:48.758+02:00OpenGL and DDS texturesWhile there is probably a direct mapping between DirectX and OpenGL texel formats. I took some time to try to find out which solutions exist to load DDS files for OpenGL. Alas, it seems that there's nothing publicly available that is fancy, or complete, or simple. Everyone seems to do the same work over and over again for their own use.Problems ?DirectX and OpenGL use different texture rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-77780618071446337952009-11-21T16:53:00.004+01:002009-11-21T16:58:28.354+01:00Editing GLSL shaders with PSPad editorI quite like PSPad editor, which is free, quite complete and quite robust.I use it a lot for editing things and others, including GLSL shaders.I drafted an (incomplete for now) syntax highlight configuration file for GLSL shaders for PSPad, you can grab it here.It also allows to enable the code explorer for shader files, thanks to the "C-like" structure, nice!rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-8850618577386153852009-08-24T16:17:00.011+02:002009-08-26T17:34:49.173+02:00Nothing fancy, just trying to catchup with newsFWIW, trying to catchup with news - after my vacations and the all-announces-while-SIGGRAPH rush :OpenGL 3.2 specification is available, along with Open(G|C)L BOF slides.NVidia announced their OptiX realtime raytracing API / library, which will be available in early autumnAMD made publicly available their OpenCL 1.0 (Khronos conformance stamp seems pending) CPU implementation in their ATI Stream rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-45141887948068752222009-06-25T12:41:00.006+02:002009-06-25T13:13:20.943+02:00building with Scons & MSVC8 using PCH with PDB and /ZiSome note concerning my current attempts to evaluate Scons 1.2 for my needs to replace my 'pure' Visual Studio solutions builds.After trying to automatically convert my solutions to Scons scripts, which did not work at all, I decided to start from scratch.I easily got the bare build and link done on one of my modules. And I tried to gradually introduce 'features' in my build : namely Precompiled rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-31304536080290457112009-06-12T18:11:00.003+02:002009-06-12T18:35:27.149+02:00A few performance tests on sequential file read methods under WindowsAfter reading Timothy Farrar's post on I/O thread scheduling, I thought that I made my latest performance tests on File I/O (especially read) too long ago.I took some time to build a few no-brainer test functions, reading a file of about 1Gb, all read requests are 64Kb.I essentially tested different a few variations :STDIO - standard stdio streamsSTD_S - standard stdio streams + 'sequential' rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-15411720995932863132009-02-18T11:34:00.021+01:002009-02-18T14:46:03.920+01:00Parsing OpenGL 'spec' filesA few notes after some experiments in parsing OpenGL spec files, describing enums and commands for every OpenGL version and extension.The parsing part when smoothly, as the files are consistently formatted, but I encountered some traps in interpreting values and commands though.'gl.spec'It describes OpenGL commands. Every command has a 'category' property that mostly represent the extension or GLrotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-85392416298277017592008-11-20T12:53:00.007+01:002009-02-18T13:58:24.246+01:00Finding perfectionLong time no see, but this one made me really laugh !Picture yourself creating a test scene with Lightwave 3D, which Autodesk didn't buy yet. You plan to test the exact behaviour of Lightwave's Incidence Angle gradient texture layer.Picture yourself creating a Box. The default one, using numeric values, a perfect cube, each side is 1 meter long.Picture yourself placing this Box in a layout, whererotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-34747148683650443012008-07-03T17:04:00.010+02:002009-02-18T14:00:26.726+01:00ATI/AMD driver stuttering - or - a bug in Catalyst 8.6 ATI drivers' GLSL compilerA few minutes ago, I just put my dreaded AMD Radeon HD 2600 test board in my computer. My point is to fix a compatibility problem encountered by a customer...As I had horrible experiences with this board at its release date, I'm not surprised to see that my first run of my OpenGL tools almost fail miserably.I just wanted to archive the problem I'm encountering right now with Catalyst 8.6 on by rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com1tag:blogger.com,1999:blog-8472224020178733542.post-90038201405137426532008-03-28T17:36:00.011+01:002009-02-18T13:57:36.327+01:00Polygon triangulationAs my tools work go on, I faced again the holed polygon triangulation problem... Last time, I let it go by using something along thoses lines - which worked quite well, but had a strong dependency on OpenGL and a not so robust approach that lead to creating new vertices along the triangulation...This time, I had more luck in my attempt not to reinvent the wheel. I stumbled upon some old John W. rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-47929367947501100622008-03-20T00:03:00.002+01:002008-03-20T00:17:58.137+01:00GIS is a time suckerto say the least...As I recently put my "tool maker" cap back on, I have to deal with lousy GIS data... I spend my time figuring out why I have this feeling that database software is such a pain to work with...Everyone has its proprietary format, everyone is willing not to share the data with its neighbor...Even GDAL does its job only partially : the python bindings are vastly underdocumented androtogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-63183019276665955322008-01-29T23:16:00.001+01:002009-02-18T13:58:05.153+01:00.NET experimentsThe first time I tried the .NET Framework was for a "throwable" GUI project ; I then decided to test the brand new MS Visual Studio 2005 beta 1. The development went pretty smoothly, and I was quite nicely surprised.Then came MSVS 2005 beta 2, I decided to continue the development with this shiny new toy, hoping that it would fix a few quirks with the GUI Designer - I mainly remember that I had rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-26183740790879723662007-11-14T09:15:00.001+01:002009-02-18T13:55:23.315+01:00SH experiments continuedMy first spherical harmonics experiments were quite interesting ! I managed to include them in production quite quickly, in the form of irradiance volumes.I currently use a set of volume textures to encode 3rd order RGB SH coefficients. This allowed me quickly have a convincing diffuse lighting on the animated entities in my project. As the lighting in smooth enough, the SH encodes both direct &rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com2tag:blogger.com,1999:blog-8472224020178733542.post-66215615702385006692007-11-06T18:41:00.001+01:002009-02-18T13:56:53.553+01:00FreeImage lib clumsinessI've been using FreeImage lib for some years now, always with a bad feeling about the architecture and the scalability of its features.I keep on using it as I didn't find another more convincing image loading library ; but today I had the proof that my feelings were right !While loading a small 11x11 32bits TGA file, FreeImage reported it as being FIC_RGB and not FIC_RGBA, thus leading my rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com2tag:blogger.com,1999:blog-8472224020178733542.post-89662825713189622152007-11-05T23:21:00.001+01:002009-02-18T13:57:19.415+01:00Adobe/boost GIL vs. image resamplingAfter my first experiments with GIL a few months ago, I'm quite convinced that I'll have to take a closer look at it.My first experiments allowed me to cleanup somehow my image support libs, and the wrapping of FreeImage library.Having now the objective of a total makeup of my texture generation/compression pipeline, I'd like to have a solid framework to back up my algorithms, that would allow merotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-72262824342910583382007-10-28T18:12:00.001+01:002009-02-18T13:56:40.668+01:00Texture atlas gaps fillingI've come to change my gaps filling default algorithm for my generated atlas textures (mainly light maps).I was not satisfied of my previous algorithm that did some dumb iterative texel replication of the nearest non-empty texel. This process lead to visually satisfying results when using the resulting textures, but the iterative process was too long on big textures (above 4M texels).I tried to rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-58979921747315771732007-10-14T22:02:00.000+02:002007-10-14T22:06:52.390+02:00CEDEC 2007 presentationsFollowing the Lost Planet technical presentations, I found out some other presentations on Tri Ace research web site. Unfortunately, I don't have the slightest notion of japanese....rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-89769016210517177802007-10-12T15:32:00.001+02:002009-02-18T13:55:02.410+01:00VRay exposure control formulaWhile browsing some code, I remembered that I wanted to share some code reproducing VRay exponential exposure control.I had to work out the formula myself as I did not find any documentation about their 'dark multiplier' and 'bright multiplier'.This is what I eventually found out (GLSL code) :uniform float exposure_gain;uniform float exposure;uniform float dark_multiplier;uniform float rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0tag:blogger.com,1999:blog-8472224020178733542.post-63661810202787405762007-10-10T23:35:00.000+02:002007-10-11T00:11:17.059+02:00Spherical harmonics tryoutToday, I finally took some time to experiment with spherical harmonics ! It is a logical progression as I was toying with irradiance cube maps.For now, SH only permitted me to build those cube maps faster, and to get rid of the noise generated by GI sampling, but, hey ! It's a start !I mainly referred to 'standard' SH resources ::Robin Green's talkSimon Brown's notesRavi Ramamoorthi's workHm, I rotogluphttp://www.blogger.com/profile/15688884816193838150noreply@blogger.com0