glsl skin slow

Started by
8 comments, last by _the_phantom_ 19 years, 2 months ago
I've made a skinning demo using GLSL, but i get a shocking 60fps. I have a radeon 9600xt, and my drivers have been playing up with other shaders. If any one has an nvidia based card that supports GLSL (shader 2.0 model) that could give my demo a whirl: http://users.tpg.com.au/thetwins/fab/TestSkin.rar
Advertisement
---------------------------TestSkin.exe - Unable To Locate Component---------------------------This application has failed to start because MSVCP70D.dll was not found. Re-installing the application may fix this problem. ---------------------------OK   ---------------------------


Did you compile in debug mode?
You should never let your fears become the boundaries of your dreams.
Here's what my 5600FX did (after I found some debug 7.0 DLLs)

CPU Vendor: AuthenticAMD
MMX Supported
SSE Supported
Loading shader: skin.vert
ERROR: Vertex info
-----------
(25) : fatal error C9999: unexpected stmt kind in CheckReturnStmts

Failed to obtain handle to weight in 'attribute vec4 weight'
Failed to obtain handle to bone in 'attribute vec4 bone'
Failed to obtain handle to transform in 'uniform mat4 transform[64]'
Loading texture: data/detail1.dds
Error: invalid operation
Loading texture: data/font.dds


I haven't done any GLSLing after reinstalling Windows, but I'm pretty sure it works okay... :)

Edit: It crashed at instruction 0x0040CBD5 when trying to reference 0x1C.
This application has failed to start because MSVCP70D.dll was not found.

You should include the dll's.., not everyone will test this in a dev machine.
Quote:Original post by supagu
...but i get a shocking 60fps...


Constant 60 fps? Turn off v-sync. If not we'll need more information.
here is a release build of the exe:

http://users.tpg.com.au/thetwins/fab/TestSkin.exe

although i suspect all nvidia cards will result in the same error hh10k got.
didn't run on mine (FX5600), here's the log:

---------------------------------------------
SiphonGL 2.0
(C) 2004 Fabian Mathews
---------------------------------------------

----------------------------------------

Time [OK]
----------------------------------------
OpenGL Extensions
----------------------------------------
Point Sprites [OK]
Multitexture [OK]
Draw Range Element [OK]
Vertex Buffer Objects [OK]
Vertex/Pixel Shaders [OK]
Texture LOD Bias [OK]
SGIS Texture LOD [OK]
----------------------------------------

Device [OK]
Render Manager [OK]
Input [OK]
Sound [OK]
File Manager [OK]
Collision Manager [OK]
----------------------------------------

CPU Vendor: GenuineIntel
MMX Supported
SSE Supported
SSE2 Supported



---------------------------------------------		SiphonGL 2.0	(C) 2004 Fabian Mathews-------------------------------------------------------------------------------------Time				[OK]----------------------------------------	OpenGL Extensions----------------------------------------Point Sprites			[OK]Multitexture			[OK]Draw Range Element		[OK]Vertex Buffer Objects		[OK]Vertex/Pixel Shaders		[OK]Texture LOD Bias		[OK]SGIS Texture LOD		[OK]----------------------------------------Device				[OK]Render Manager			[OK]Input				[OK]Sound				[OK]File Manager			[OK]Collision Manager		[OK]----------------------------------------CPU Vendor: AuthenticAMDMMX SupportedSSE SupportedLoading shader: skin.vertERROR: Vertex info-----------(25) : fatal error C9999: unexpected stmt kind in CheckReturnStmtsFailed to obtain handle to weight in 'attribute vec4 weight'Failed to obtain handle to bone in 'attribute vec4 bone'Failed to obtain handle to transform in 'uniform mat4 transform[64]'Loading texture: data/detail1.ddsError: invalid operationLoading texture: data/font.dds

You should never let your fears become the boundaries of your dreams.
It works on mine, but the framerate is pretty low 50-60fps. Im using a Radeon 9600Pro.

I looked at your shader and while i dont know anything about shaders, there appears to be an if statement in it. As far as i know, if's are expensive and not available on all hardware.
they arent really expensive as such, the card just executes both paths and then rejects one of the values in favour of the other. As to how much it costs depends on how long the block is

This topic is closed to new replies.

Advertisement