It sounds like you are missing this info: The compiled HLSL shaders are not in the shader DLL. That DLL has the C++ code that does the state setup and linkage. The shaders themselves are in your mod directory under the shaders/ subdirectory. They are .VCS files. When you run the buildshaders command/process it produces those VCS files and header files that allow you to recompile your DLL and bind to the appropriate data/interfaces.
Jay > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of John Sheu > Sent: Tuesday, March 07, 2006 9:22 PM > To: [email protected] > Subject: [hlcoders] Shaders > > I think something is messed up with the shader compilation > tools. It could be just me, or it could be that I truly have > the basis for righteous indignation :) > > A bit of background: I've been compiling shaders and sending > them off to other people to test (as I'm writing shaders for > PS 3.0, but I don't have a card that supports it). It's been > a rather frustrating three days, as everything that should > work isn't. For some reason, no matter what shaders I send > them, they all fail in exactly the same way that my first > revision failed (i.e. I've sent them multiple revisions, but > they all exhibit the behavior of the first revision). > > So I did a bit of testing on my own system with some PS 2.0 > shaders. It eventually came down to this: I compiled me a > parallax shader and put it in gamedir/bin, and all was well > with "mat_parallaxmap 1". Then I modified the shader to do > only one thing: > > return HALF4( 1.0f, 0.0f, 0.0f, 1.0f ); > > and compiled the shader sources but DID NOT UPLOAD THE > UPDATED DLL. All the same, the next time I was in-game, > everything was bright-red, as would be expected for the code above! > > Thus I suspected that the DLL was linking to the shaders in > my development folder. To test that, I booted the DLL over > to my Linux system and did a search for strings corresponding > to the location of my development tree. Basically: > > strings game_shader_generic_parallax.dll | grep 'sdkshaders' > > gave me a few lines like so: > > z:\src\sdkshaders\parallax\SHADERFILE > > > In summary, I'm pretty sure that the DLLs aren't correctly > referencing the shaders included in the DLL itself. (As a > sidenote, I also found it strange that all my shader DLLs, > regardless of the contents of the shader source, compiled to > the same exact size, byte-for-byte. I don't remember the > exact byte size, but it came out to 388 KB). > > Your friendly neighorhood hlcoder, > -John Sheu > > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list > archives, please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

