win32 1k compression for dummies
category: general [glöplog]
hitchhikr: please test this one:
http://www.rbraz.com/temp/1k_framework.zip
You can include it into your package, if you like.
Works fine on my Geforce 6600GT, I will test it on the 8800 tonight..
http://www.rbraz.com/temp/1k_framework.zip
You can include it into your package, if you like.
Quote:
; I think even a minimal vertex shader is required on NVIDIA cards
; but i'm not totally sure.
Works fine on my Geforce 6600GT, I will test it on the 8800 tonight..
1kpack 0.5 give me 1 byte less than 0.3 (and 3 bytes less than 0.4) but crashed (xp sp2)
ftp://ftp.untergrund.net/users/hitchhikr/1kpack_v0.6.zip
If it still crashes you may send me your file (unpacked) so i can check it
(name: hitchhikr server: australia.edu).
If it still crashes you may send me your file (unpacked) so i can check it
(name: hitchhikr server: australia.edu).
Some animation support, using GetConstantByName/SetFloat. It assembles into 662 bytes (based on v0.5).
For whatever reason it only works on my laptop if I insert some shader code that actually does something. The minimal shader that only returns the same color for every pixel crashes the application (Vista/GF7700).
For whatever reason it only works on my laptop if I insert some shader code that actually does something. The minimal shader that only returns the same color for every pixel crashes the application (Vista/GF7700).
v0.6 is smaller.
It doesn't work because the compiler optimizes the shader where the constant isn't used so it discards it and GetConstantByName returns 0,
Nothing to do with the packer which afaik works correctly, tigrou made a mistake by using an older depacker.bin which isn't compatible with the newer version as i used it's 2 last x86 instructions to mimic the zlib stream starting flags (so the stream starts inside the depacker).
Also, you don't need to use the uniform keyword and there's a much smaller way to pass constants data to a shader, if you want to work with hlsl i suggest you to get your hands on render monkey or any equivalent tool asap.
It doesn't work because the compiler optimizes the shader where the constant isn't used so it discards it and GetConstantByName returns 0,
Nothing to do with the packer which afaik works correctly, tigrou made a mistake by using an older depacker.bin which isn't compatible with the newer version as i used it's 2 last x86 instructions to mimic the zlib stream starting flags (so the stream starts inside the depacker).
Also, you don't need to use the uniform keyword and there's a much smaller way to pass constants data to a shader, if you want to work with hlsl i suggest you to get your hands on render monkey or any equivalent tool asap.
i'm dead late on the thread. just this: hitch, congrats for the brilliant idea :)
Quote:
if you want to work with hlsl i suggest you to get your hands on render monkey or any equivalent tool asap.
Yeah, I might do that eventually. In the meantime, I went ahead and used SetPixelShaderConstantF to do animation in v0.6. It's 628 bytes.
..of course, the slightly smaller version would be
push dword 1
lea ebx,[ebp + Delta]
fstp dword [ebx]
push ebx
push dword 0
At first I thought it wasn't working, but I'd probably just screwed up the alignment.
push dword 1
lea ebx,[ebp + Delta]
fstp dword [ebx]
push ebx
push dword 0
At first I thought it wasn't working, but I'd probably just screwed up the alignment.
Hi guys, cool idea!
Great to see some useful stuff going on here for a change.
Great to see some useful stuff going on here for a change.
Yeah, it's a great packer to have, so kudos to hitchhikr. My latest sine-distortion bonanza currently compresses to 1001 bytes: http://jiggawatt.org/picsplz/monjori.jpg
looks great! please release that so I can thumb it up!
I've still got some bytes to spare, so I'll see what I can do with them first.
Just comment: that trick's quite cool and it works fine. And I've recognized pretty late its like syntax from "metalwork". I modded that one smaller when it came out, atleast added filtering and some kind of colorramp.
But this is alot better ;D
But this is alot better ;D
ftp://ftp.untergrund.net/users/hitchhikr/1kpack_v0.7.zip
ftp://ftp.untergrund.net/users/hitchhikr/test_v0.7.zip
I won 8 bytes in the depacker but i don't know if it's safe (should work fine under XP).
ftp://ftp.untergrund.net/users/hitchhikr/test_v0.7.zip
I won 8 bytes in the depacker but i don't know if it's safe (should work fine under XP).
Test ok on Vista 32-bit.
hitchhikr > would there be a way to have the pixel shader in its own file for easier edits?
That's actually quite easy, just create a shader file and replace it within the framework.asm with this:
Be careful tho because the binary may contains end of lines chars which will increase the size of the packed executable.
Code:
PShader: incbin "nameofthefile"
fPShader:
Be careful tho because the binary may contains end of lines chars which will increase the size of the packed executable.
thx
Is 1k pack dead? None of the binaries work on my win7.
Well... If it doesn't work for you then... yeah maybe it's deadly incompatible with 7.
But... why you asking?... You were about to code a another raymarching 1k? ^^
But... why you asking?... You were about to code a another raymarching 1k? ^^
exactly. :)
just for the scene spirit:
@las pack all the fx into 4k and part it with a good synth, rather than sticking to a "win"."dead" size limitation that's mostly only good for mute graphics!!!... the "crowd" will love you for some sound. ;)
@las pack all the fx into 4k and part it with a good synth, rather than sticking to a "win"."dead" size limitation that's mostly only good for mute graphics!!!... the "crowd" will love you for some sound. ;)
i don't care about the crowd for tech-demos - because the crowd keeps the fuck you anyways :D
las: 1kb fractal zoomer with source might be worth looking into if you need a 1kb framework