huh. turns out dithering doubles the size of your normals if you export from blender.. good to know.
OwenTheProgrammer
@owentheprogrammer.bsky.social
Game dev / Graphics dev. All I know is math now.
I always see some crazy shit when im trying to do some outlandish stuff lol
fun fact: converting LinearEyeDepth to Linear01Depth is stupid fuckin easy. z_eye / far = z_01 and if you're using _ZBufferParams, the w component just so happens to be 1/far.. so z_eye * _ZBufferParams.w = z_01
Over time I may get back to pushing the rest of the shaders, but here's the spot light and point light. feel free to replace the normal reconstruction method if you wish. github.com/OwenTheProgr...
GitHub - OwenTheProgrammer/ObjectGI: The shaders I made for ObjectGI a long time ago
The shaders I made for ObjectGI a long time ago. Contribute to OwenTheProgrammer/ObjectGI development by creating an account on GitHub.
github.com
Distilled my normal reconstruction stuff over the past three years into something readible, sadly work in progress has been held up by job searching github.com/OwenTheProgr...
github.com
Spent the pass few days trying to make a PS1 gpu emulator as faithfully as possible. Still trying to figure out how theyd do the rasterization in hardware with fixed point math (the GTE is documented far more than the GPU is) and of course im curious if this will work with VR projection matrices :3
aaand the game developer / shader developer / software thats not IT and web job search begins!
I seem to have walked my ass through a shower thought into a long long month. yes this is reconstructed entirely from the depth buffer, nothing else, not even a grabpass.
yet another one of those "damn I really hope I didnt screw anything up XD" types of problems.. Reducing the Perspective-N-Point design matrix through partitioned low-rank approximation (EYM). The original 2N x 12 SVD reduced to 2N x 4, the rest is back substitution under x = (A A+)x + (I - A A+)x
oh my god the hlsl tables are an XY selection table. that took me months to figure out..
fun fact, if you go through the work to derive the quadratic equation, the point where you convert the sqrt(b^2 - 4ac / (4a^2)) is often factored out as sqrt(b^2 - 4ac) / 2a, but if you want the +sqrt to be the larger root, and the -sqrt to be the smaller root, you need this instead.
To my shader devs, I have made a unitypackage that adds a menu create context to create a new CGINC file, you're welcome 💜 github.com/OwenTheProgr...
github.com
eyo this canny would be pretty cool to have if not the screenspace normal stuff feedback.vrchat.com/feature-requ...
Add 'Replaced Shaders' options to VRCCameraSettings | Feature Requests | VRChat
Please expose Camera.RenderWithShader and Camera.SetReplacementShader to the list of options exposed via VRCCameraSettings.
feedback.vrchat.com
We really eating hot pockets in the garage, contemplating life choices at 2am
I fear I may need to job hunt soon, as much as I hate the industry as it currently stands, I dont know how long a can hold to "stability" in my life
just found out GPUs dont like running 100% utilization, vram at 7GHz, 2^80 operations total, but im still amazed at the fact it only left to cry at.. ahem. operation 7,409,760,794,050,560. and I accidentally asked it to allocate 17.7GB of vram and compute 2 billion things.. which it did in 9 seconds
I remember seeing this shader and wanting to some day create something like it. Im definitely capable of such things now, and much more.. but I should have known why shadertoy had it featured again. rest in peace kali. yet another brick in my road gone. www.shadertoy.com/view/XsBXWt
shadertoy.com
(🧵 1/6) Recently I've been working on an HLSL interpreter, which can execute shader code entirely on the CPU github.com/pema99/HLSLI... I used it to make a cute little interactive debugger demo. You can try it yourself at pema.dev/hlsl/
you ever just store a 64x64x32 texture3D in a single 32x32 RGBAFloat texture?
(obvious flashing light warning) I figured id make a debug shader for this wack ass processor layout and even for 16x16, theres a lot of data. Each bar represents a decoded value of some kind.
For fuck sake can the barometric pressure stop swinging wildly above and below 1000mbar? My brain contains zero coherent thoughts FOR ONCE
Redid my error function approximation for really no reason lol but I got the deviation terms down even more! it also doesnt die past like 14.. so thats a bonus.. For anyone curious why the erf(x) function is useful, erf(x) = 2/sqrt(pi) * int_0^x{e^{-t^2} dt}
trippy.. (64x64 conformal mapping from polar coordinates to [-1, 1] x [-1, 1] square; dont worry bout it :3)
aint no one gonna be ready for this one lmao
Every professional beatsaber player will eventually end up reading: "lighthouse: LHR-18765EEA C: IMU went off scale." and once you do, you will see it many, many, maaanyyy times.
PSA on cos(atan(y,x)), sin(atan(y,x)) cos(atan(y,x)) = x/sqrt(x*x+y*y) = normalize(float2(x,y)).x sin(atan(y,x)) = y/sqrt(x*x+y*y) = normalize(float2(x,y)).y
My god I’m gonna know AleXas music very well by the end of the night lmao
Weeelp imma start going through all my discord dms over the past 7ish years, collecting everything I care about, and same with servers. If I have to drop discord round march, I at least want to have the imprint of every chat I’ve started ever. I don’t really have plans if I have to leave, we’ll see