From: Christoph S. <Chr...@un...> - 2008-12-03 14:52:23
|
Hi! When i try to access the gl_LightSourceParametes array in a shader, it results in a segfault: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7febdf585760 (LWP 28262)] 0x00007febda7a7502 in _slang_alloc_statevar (n=0x238f3c8, paramList=0x9d8800) at shader/slang/slang_builtin.c:201 warning: Source file is more recent than executable. 201 if (strcmp(field, "ambient") == 0) { Current language: auto; currently c this gets triggered by the following statement: gl_LightSourceParameters asdf = gl_LightSource[0]; how can i access the lightsourceparameters array in a shader? greetings, Christoph Schied |
From: Brian P. <bri...@tu...> - 2008-12-10 01:16:52
|
Christoph Schied wrote: > Hi! > > When i try to access the gl_LightSourceParametes array in a shader, it > results in a segfault: > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x7febdf585760 (LWP 28262)] > 0x00007febda7a7502 in _slang_alloc_statevar (n=0x238f3c8, > paramList=0x9d8800) at shader/slang/slang_builtin.c:201 > warning: Source file is more recent than executable. > 201 if (strcmp(field, "ambient") == 0) { > Current language: auto; currently c > > > this gets triggered by the following statement: > gl_LightSourceParameters asdf = gl_LightSource[0]; > > > how can i access the lightsourceparameters array in a shader? Yeah, this is a problem at this time. The only work-around for now is to access specific fields of gl_LightSource[x], not the whole structure. In any case, you might try to avoid structure copying like that in your shaders. It boils down to a bunch of GPU MOV instructions. Your shader will run faster if you can avoid that. -Brian |