- 18
- 25 103
capslpop
Приєднався 30 кві 2017
Currently developing a voxel engine that can render over a million voxels on an igpu. Much more is planed for the future.
Відео
Drawing Triangles As Voxels
Переглядів 44421 день тому
This is just a proof of concept. I'm not too sure what to do about the artifacts. But it only happens when meshes collide. If everything in your scene was just one big mesh, there would be no problem. Also supports animation because it uses triangles. But I have not implemented those things yet.
Particle Clustering
Переглядів 4322 місяці тому
It is a 256 cubed texture but the problem is that the GPU is bottlenecked. I think I will move to CPU-based simulations now.
Upscaled Rendering 144p to HD
Переглядів 1,3 тис.5 місяців тому
I want to continue to improve this system. Some artifacts and far-away objects will look blurry, but I have some ideas about how to fix those cheaply.
2.8 Trillion Voxels
Переглядів 3876 місяців тому
Working an a new engine with a slightly different render and data storage.
Per-Voxel Refraction - Low gravity water
Переглядів 2626 місяців тому
Trying to get refraction to work. Right now it just uses the cube map to calculate but I should add ray-traced refractions in the future. But for lower-end hardware, it would be cool to just use the cube map for stuff like this so it is super fast.
Voxel Beach With Waves
Переглядів 2,1 тис.6 місяців тому
Trying to get the fluid sim to work with the geometry of the beach and stuff. Still a work in progress.
Everything Is A Particle! Physics For My Voxel Game
Переглядів 3256 місяців тому
Single pass Eulerian fluid solver. Fully conservative even after hours.
Per-Voxel Water Fountain
Переглядів 1,1 тис.7 місяців тому
Just moved the pixel art fluid sim into the Voxel fluid sim. Also, looks like the music I was listening to in the video was record haha. Here is the music: ua-cam.com/video/P_vneDy3s0c/v-deo.html
Per Voxel Lighting! Good Idea or Bad Idea
Переглядів 10 тис.7 місяців тому
I like the look of per-voxel lighting and have been experimenting with it for the past few weeks. However, it doesn't seem perfect. What is it missing?
Pixel Art Water Simulation
Переглядів 2937 місяців тому
I have been working on a fluid solver that works per pixel and keeps a lot of the small details by using a new technique that I created for advecting the fluid.
I'm Back! Dev #3 Voxel Development
Переглядів 1,7 тис.9 місяців тому
This video I talk a bit about what has happen in the first 6 months after my last video.
Developer Log #2 - Infix Voxel Engine - Design
Переглядів 7662 роки тому
Developer Log #2 - Infix Voxel Engine - Design
Developer Log #1 - Infix Voxel Engine - Why I Am Rewriting The Infix Engine
Переглядів 1,2 тис.2 роки тому
Developer Log #1 - Infix Voxel Engine - Why I Am Rewriting The Infix Engine
Developer Log #0.5 - Infix voxel engine
Переглядів 3,4 тис.3 роки тому
Developer Log #0.5 - Infix voxel engine
awesome!!!!!
Cool! Do you voxelize the whole scene then raytrace the voxel buffer?
No, this is what makes this work so well. What I do is I feed in normal triangles the regular way in the pipeline. Then I make them thicker by adding some 4 more trianlges. Then I raymarch them in the fragment shader and discard if it hits nothing. This way you should usually get a hit within 1-3 marches.
Oh, also this would work a lot better with BVHs. I think you are doing raytracing with multiple different data structures? I would highly recommend adding this into your engine because it supports large animated scenes. However, I have not done this yet. But it is theoretically possible.
@@capslpop Really smart, I was actually thinking of a similar idea myself the other day, but couldn't figure it out fully. So you rasterize a "thicker" version of the mesh (I'm guessing by moving the vertices along their normals), then raytrace starting from the rasterized position? And you raytrace just by doing a DDA and using a triangle SDF for every triangle in the mesh? If it's that simple I will totally try implementing this into my engine, has a lot of potential!
@@frozein Yes, its that easy! I would like to see someone try it for BVHs. I think it could really revolutionize the way tiny voxel based graphics is dene. I also belive I have a few tricks up my sleeve to fix the part when triangles intersect each other.
@@capslpop Super cool. I'll try implementing it myself once final exams are done, I can do it with BVH and see the performance. You can add me on disc if you want to talk more, same username as my UA-cam.
Superb!
Good job! Is it rasterized or raytraced?
It is rasterized then marched.
Woah
that may be a lot of voxels, but it's not a whole lot of bitrate 💀 jokes asside, this is super cool !!!! bravo
UA-cam compression dying
UA-cam's compression can't keep up with this amount of voxels. Would love to see this in 4K with high bitrate!
what's the size of the scene?
I think its like 2000 or something.
wow what the sigma
Sweet! I'm glad you got it working.
Is it cellular automata?
Depending on how you define it. But yea you could say that. I also just posted the code on shadertoy so you can see how it works now
Its like a pixel game in 3d
Looks good
Impressive improvements!
Made the code a ton more performant! Sould work on any scene. The lighting is stored at half the resolution as before.
It looks much better oddly enough 😄
Wow! Impressive keep up the good work! how is it done?
If there are more than two particles per cell. The particles are grouped together. Also, I do a trilinear texture fetch for the G2P step to speed things up.
Here is the code if anyone wants it: github.com/capslpop/Particle-Clustering/tree/master
Ooo, nice.
This looks great, but will probably run like ass
Looks amazing.
the youtube compression just had a stroke
You have successfully destroyed the youtube encoding.
Amazing.
Impressive, I can't wait for more.
a game with these graphics would be interesting
its called teardown :)
@@MountainLabsYT i know that game and played it but thats not the same
@@Mertiven do you mean the per-voxel lighting?
МОЛОДЕЦ
Goodie
Is this scratch?
No, this is Shadertoy kinda similar though. If it was it would be like 10 times more impressive . 😅
looks like a voxel with realistic lighting but in bad quality
FSR? DLSS?
No, instead I make some assumptions based on the geometry of voxels. First, each ray collects a cube and stores them. Then, I draw the cubes back using a higher resolution.
How different does it look if you don't color it blue at all? Since water is clear, I'd be interested to see that.
I was actually plaing around with that. I got it to look like oil with an iridescence surface. Looked kinda cool. ua-cam.com/video/mGTdCkr2D1E/v-deo.html
Oh and here is clear. It kinda looks like glass: ua-cam.com/video/ny_hWM-cmkg/v-deo.html
@@capslpop Oh awesome, thanks for uploading those!
Voxel @ Upscaled I feel something wrong ':D Anyway good job
From a performance standpoint this is a good idea with such small voxels as you're not casting a lot of rays, but aesthetically this approach seems a bit strange as half of the video I didn't even understand what was going on here.
I think your specular reflecions are a bit weak? Fixing the sun and rotating the camera, I don't see any change in the ball's specular reflections. Even removing the specular component completely makes no difference. It might just be messy normals, the back wall has decent enough specular reflections when viewed from behind. I think you could also do with some GI, lower ambient strength and tonemapping. It's really cool though! The godrays are pretty. There also seems to be some temporal effect that I don't quite understand, but it's visible when viewing the mirror from behind.
Very nice, How much ram/vram does this use?
For the full completed engine. I plan to have it adjustable. at medium, its probably going to be around 1-2 gb and for high level like 4-5 gb
@@capslpop 2.8 trillion voxels in 4 gb? that's some serious compression, how are you going to achieve that?
@@Meetric1 Here its litteraly jut instancing haha to the data is copied over and over again but I will be using LODs with "circular pointer array" thing that will hopefully be able to store way more data than this demo because it wont be instanced. Almost got that done and I will post it on YT. Its actually *fairly* easy to render like trilons of voxels whats hard is editing those voxel each frame with lots of updates and still keeping it fairly compressed.
interesting, thanks for the info!
Very nice, is this rasterized or raytraced?
Raytraced but I want to do a mixed rendering method. Actually about to implement that today.
Ayo, the gmod physics guy is here :D
the gwater guy
BRO YOU ARE SOOOO COOL
hello, I am very curious in know what resources you used to get voxels made and working? what side are each voxels? how did you go about making the landscape, tree and water sim for the voxel bleach video? or the fuild simulation with voxels? i could find nothing on the topic.
Mainly shadertoy is what I am using. However, I am not really using many resources. A lot of these algorithms are ones that I have come up with. For the scene with the tree and grass. I litterally itterate over every voxel and do different test functions to find out how the scene should be constructed. The tree is a fractal. But this is very slow and kinda cursed. Magica voxel has a way better editor. However, I am planning on doing a devlog explaining how I am doing all of this stuff in the last few months.
why did this get suggested to me
because who wouldn't want to see a lot of voxels. jk
Great! Also it's funny that youtube loses quality that it looks like 240p video
Absolutely insane! What sort of accel structure are you using to iterate through the volume this quickly? Also gotta love how the bitrate dies at the end lol
Actually not really much. The same stuff I did back in my first devlog with using rasterization. But this time they are in chunks.
What hardware is this running on?
I am using a laptop 3070. However I hope to make it performant enough to run on an igpu
are you using any lod system or octrees for rendering?
No, but I will add that in the future. Should be supper easy to add ray acceleration.
Awesome. Can you show some sort of model next video to get a better sense of scale
Pov: notch making the dev vlog of minecraft 2
yes, good idea. Though, if that jittering is due to frame rate and it can't be optimized out, then maybe not
I still have many optimizations to make. Using this technique should be a lot faster than traditional raytracing. Much of the noise will disappear with the optimizations too. Hopefully, haha!
a game like this would be banger