I made a better Ray-Tracing engine

I made a better Ray-Tracing engine

NamePointer

2 года назад

248,502 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

Suki
Suki - 05.09.2023 15:58

Just wow. I can only congratulate on your programming skills. If you are bored, you could ivestigate, how holography works and make an example of it. (Lenses, microlenses)

Ответить
SquareRootOf2
SquareRootOf2 - 20.07.2023 23:20

Even the skyboxes have chemtrails now.

Ответить
novy gaming
novy gaming - 07.07.2023 11:48

One mistake I noticed is that reflective spheres have dark edges. This is caused because dot product shading is still being done for non-diffuse materials. The solution is to interpolate between the shaded brightness and a full brightness as the roughness goes down.

Ответить
Umar CGA
Umar CGA - 26.06.2023 20:41

can you release this engine, make it opensource and start a funding compain

Ответить
E Borge
E Borge - 13.06.2023 02:28

Hey! You are SO CLOSE with getting it to work! You do not have to reset the buffer when moving the camera! Instead, google about temporal reprojection! You take per vertex motion vectors (the kind used for motion blur in modern games) and offset the pixels in the buffer with it. That way, the surfaces that are new pixels get rendered, and the old surfaces accumulate samples.

This has problems of its own. If you separate the bounce lighting and just use a basic N dot L, you can use a bilateral blur based on depth pass, along with the temporal effect to help sell it a bit.

This doesn't work for objects with parallax like specular reflections, but for diffuse it works wonders!

Oh and of course, multiply an albedo texture like usual afterwards.

You can combine a lot of different effects. I've seen games save ray traced lighting to UVs for worse case or screen space effects, and then ray trace for the best case. The way UE5 does it is ray trace only on the lowest LOD versions of models.

Ответить
AmCan Tech
AmCan Tech - 05.06.2023 12:57

do you have a depth of field video?

Ответить
dj account
dj account - 31.05.2023 15:09

Please make video how calculate normal vectors for 3D polygon..

Ответить
Minh Lực Nguyễn
Minh Lực Nguyễn - 15.05.2023 09:23

I'm learning 2d art, watching your video makes me realize the way an artist decide the hue, satturation, value of a spot on the painting is exactly like how ray tracing work. The video is very fun and comprehensive to watch!

Ответить
Golden Miky /TLGP
Golden Miky /TLGP - 10.04.2023 20:03

i'd like to know how the engine program works and if there will be any implementations for blender! i'd love to try this program out!

Ответить
Flame of the Phoenix
Flame of the Phoenix - 09.04.2023 10:38

You can probably just have it to where each time the camera moves average each pixel in the buffer with the current pixel, then add it back to the buffer, effectively making the program still use the old rendered bits, but take them with a grain of salt. A better explanation is to say that you've rendered pixel A, B, and C, then the camera moves so now you have pixel D, but all the previous ones aren't accurate. So, you are going to alter the previous pixels in the buffer entirely, A = (A+D)/2 B = (B+D)/2 C = (C+D)/2, then the next pixel you render becomes (A+B+C+D)/4. This of course will still have a little blur, but less so.

Ответить
Flame of the Phoenix
Flame of the Phoenix - 09.04.2023 10:22

So, when are you going to make one in byte code?

Ответить
Home-youtube
Home-youtube - 04.04.2023 00:25

Wow it looks like a render in blender

Ответить
Rustrr
Rustrr - 03.04.2023 07:15

r-t was in minecraft a while ago

Ответить
ELEKTRO_TURBO_DZIK
ELEKTRO_TURBO_DZIK - 01.04.2023 01:33

The Gran Turismo 4 for PlayStation 2 has ray tracing bro

Ответить
Bruno
Bruno - 28.03.2023 23:59

Is this the render implemented at CREO? :o

Ответить
Bruno
Bruno - 28.03.2023 23:58

It do looks exactly like CREO render.

Ответить
Marco Polo
Marco Polo - 26.03.2023 15:45

The first version looks like Bryce 3D

Ответить
Kyle Freeman
Kyle Freeman - 26.03.2023 00:12

"Light and color are actually real things," WHAT?! ARE YOU OUTTA YOUR GODDAMN MIND?!!!1!

Ответить
SnakeEngine
SnakeEngine - 25.03.2023 01:40

Nice, but ray tracing is overrated.

Ответить
owdoo
owdoo - 22.03.2023 03:54

I went outside my room once. The graphics were amazing but the gameplay was boring, and as for the NPCs...

Ответить
John Baxter
John Baxter - 22.03.2023 00:03

"As it was the first C++ dependency that did not fill my console with compilations errors the first time I tried it" WRITE THAT DOWN WRITE THAT DOWN!!!

Ответить
Tech Demo
Tech Demo - 20.03.2023 19:39

Bro you don't need to make a ray tracing engine just enable rtx in settings. Jk

Ответить
Pixxl
Pixxl - 15.03.2023 19:20

Now make it in scratch

Ответить
Foxy
Foxy - 11.03.2023 01:05

Make it a downloadable program, so I can test my devices XD

Ответить
BrandonTGS
BrandonTGS - 10.03.2023 14:33

Great Video! Please make more videoS!

Ответить
Tyron Orxy
Tyron Orxy - 08.03.2023 22:36

How well can it handle caustics? (Performance)

Ответить
Oskar Tornevall
Oskar Tornevall - 06.03.2023 02:08

If you want even more realistic material behaviour, try looking into GGX scattering, it's a microfacet distribution, meaning it models the materials as a ton of microscopic mirrors oriented depending on smoothness etc. Great video btw!

Ответить
Aryszin
Aryszin - 04.03.2023 22:11

you used java and didnt even use opengl? u used the standard extremly bad 3d lib? i want to not be here

Ответить
Gamer 8008
Gamer 8008 - 01.03.2023 20:59

OpenGL is already getting depricated. Use vulkan next time!

Ответить
chanthuka prabashwara
chanthuka prabashwara - 26.02.2023 14:08

you dont need to wast time like this. just learn unreal engine 5. it supports ray tracing and there are many more features.

Ответить
Average Coding & Gaming Enthusiast
Average Coding & Gaming Enthusiast - 19.02.2023 07:21

How did you create the boxes from the spheres? I am tired of using the slow voxel code that involves WAY too many plane intersections. Please get back as my raytracers looks awful with the current voxel system.

Ответить
CIUMA NEAGRĂ
CIUMA NEAGRĂ - 18.02.2023 21:58

ok now make it game engine

Ответить
JoseffMakesMusic ♪
JoseffMakesMusic ♪ - 17.02.2023 21:31

Please make a part 2!

Ответить
Sbl4
Sbl4 - 17.02.2023 09:11

cool cool now remake all of blender /j

Ответить
SumLittleGuy
SumLittleGuy - 16.02.2023 18:41

That's how render engine "Cycles" works...

Ответить
CameramanDoesStuff
CameramanDoesStuff - 04.02.2023 00:22

how do i open this? i want to test my pc with it but there doesn't appear to be an application file anywhere..

Ответить
ZeezyV2
ZeezyV2 - 25.01.2023 01:06

How long did this take you

Ответить
Ksienrzyc
Ksienrzyc - 15.01.2023 00:15

You could still use Java with OpenGL, just to spite the haters.

Ответить
Omar:.
Omar:. - 14.01.2023 08:45

AMAZING !!!

Ответить
ZetaTheCoder
ZetaTheCoder - 31.12.2022 01:17

If you continue this raytracer, you could add pbr materials and fresnel (for the moment it looks like you blended between metallic and diffuse materials)

Ответить
BudgetArms
BudgetArms - 24.12.2022 17:29

Nice, very nice

Ответить
RojanWARE
RojanWARE - 13.12.2022 20:00

amazing

Ответить
bob
bob - 13.12.2022 14:16

can we compile this in linux tho?

Ответить
Timothy Oh
Timothy Oh - 08.12.2022 13:13

Your content is great man. Keep up the good work

Ответить
NotGartificial
NotGartificial - 01.12.2022 14:26

I recommend adding something called "fresnel" to the engine since the ground plane is looking a bit flat near the horizon. The steeper a ray comes in the more reflective the object gets. This effect gets weaker the rougher the object is. It is also a mandatory feature if you want photorealism since our brains know something is off.

I also recommend adding caustics because it also affects realism. When computing indirect lighting, you should make rays bounce off reflective surfaces and if it reaches a light or a bright surface, you light the original surface accordingly.

Ответить
MrSeezero
MrSeezero - 23.11.2022 22:05

I have a question. When I rotate an image on a 2-dimension plane, and I get the point to show at its new location as being 2.43, 3.76; can the color to copy be calculated as ((0.57 + 0.24) * color at 2,3 + (0.57 + 0.76) * color at 2,4 + (0.43 + 0.24) * color at 3,3 + (0.43 + 0.76) * color at 3,4)/4? With a coordinate being 2.43, I figured that since I was 43 percent of the way from there to 2 and 57 percent of the way from there to 3 that I need to put a 43 percent weight towards 3 and a 57 percent weight toward 2. Is that a good idea?

Ответить
APELSIN
APELSIN - 19.11.2022 11:00

"You made a realistic 3D renderer? Good, now make an entire new 3D software with mesh editing and sculpting."

Ответить
Jakub Giesler
Jakub Giesler - 15.11.2022 19:53

OpenGL is a specification. Not library.

Ответить