So I've been getting my feet wet with Graphics Programming since my 2nd year of BSCS. Completed my BS this year. And my bachelor thesis was on Physically Based Rendering and path tracing in general so me and my friend @Solid Link) have started this project aimed towards young researchers and programmers like us who are interested in Graphics Programming and want to implement their own Ray-tracers, Path-tracers etc. Everything is open source, just thought I'd share this here in-case anybody is interested in this field.
I'm sure pretty much everybody now would have heard the term Ray-tracing since NVIDIA's launch of RTX GPUs. So it's pretty much a different way of rendering that gives us photo-realistic images, the only problem being it's slow. And too damn slow for even today's hardware.
Yune is for pure Ray-tracing/Path-tracing as opposed to the hybrid approach used in real-time applications like Video Games. I have currently implemented only Uni-directional Path tracing and tracing geometric shapes like Spheres and Quads. @Solid Link is gonna extend it to Bi-directional soon and add support for arbitrary geometry by supporting triangles. The github repo can be found here,
https://github.com/gallickgunner/Yune
Copying this directly from github
I have added release version, so if anybody is interested they can download and run the "exe" file to see what it looks like. If any programmers are present and are familiar with Ray-tracing terms you can try opening the ".cl" file and change the sphere color, glossiness, lights etc. Even if you are not a programmer I'd appreciate if you could just try it out since I haven't tested it on many systems. Would like to know if the program crashes on some platforms. This would help me code better.
If you do intent on trying it out, note that the program on startup will give you a list of eligible platforms present on your machine. The program supports AMD/NVIDIA GPUs and also INTEL CPUs (higher than 3rd gen iirc). I am aware of some problems on Intel platforms but so far haven't got any problem running it on GPUs. After you select a platform, a list will appear for selecting devices if you have multiple GPUs. After you have done that the window will open up (see 2nd screen). Press start to start rendering.
This might not be the best place to share but eh, maybe someone gets interested and maybe I can be of some help. Anyways not going into these details since I don't wanna bore anyone here But in-case you guys are interested I can answer any questions you have. I am open to any sort of advice, feedback or criticism you guys have xD Jab tk koe keerha na nikale zindagi ka maza ka ata he :lol: Will update this thread when I add more features.
EDIT:- Official Reddit thread here,
Posting some screens,
The same image after half an hour, You can see it converged more,
I'm sure pretty much everybody now would have heard the term Ray-tracing since NVIDIA's launch of RTX GPUs. So it's pretty much a different way of rendering that gives us photo-realistic images, the only problem being it's slow. And too damn slow for even today's hardware.
Yune is for pure Ray-tracing/Path-tracing as opposed to the hybrid approach used in real-time applications like Video Games. I have currently implemented only Uni-directional Path tracing and tracing geometric shapes like Spheres and Quads. @Solid Link is gonna extend it to Bi-directional soon and add support for arbitrary geometry by supporting triangles. The github repo can be found here,
https://github.com/gallickgunner/Yune
Copying this directly from github
The key thing to note is that the renderer is purely on the GPU. This has it's own pros and cons. The cons being that OOP isn't available on the GPU so the code gets a little messy and some features are much harder to implement. The pros being that changing the rendering code doesn't mean you'll have to re-compile it. This means you can just download the release version, code your own implementation (if you know some C) and just run the application to view results. All the necessary setup and boilerplate code is managed by us on the CPU side so you won't have to worry about saving the result in images, displaying it etc.Yune is a framework for a Physically based Renderer based on the GPU using OpenCL. It is mainly aimed towards young programmers and researchers who are looking to write their own Ray tracers, Path tracers and implementing other advanced techniques like Physically based Reflection models, etc. It provides the basic funtionality to open up a window, display and save Images that are processed by the GPU.
I have added release version, so if anybody is interested they can download and run the "exe" file to see what it looks like. If any programmers are present and are familiar with Ray-tracing terms you can try opening the ".cl" file and change the sphere color, glossiness, lights etc. Even if you are not a programmer I'd appreciate if you could just try it out since I haven't tested it on many systems. Would like to know if the program crashes on some platforms. This would help me code better.
If you do intent on trying it out, note that the program on startup will give you a list of eligible platforms present on your machine. The program supports AMD/NVIDIA GPUs and also INTEL CPUs (higher than 3rd gen iirc). I am aware of some problems on Intel platforms but so far haven't got any problem running it on GPUs. After you select a platform, a list will appear for selecting devices if you have multiple GPUs. After you have done that the window will open up (see 2nd screen). Press start to start rendering.
This might not be the best place to share but eh, maybe someone gets interested and maybe I can be of some help. Anyways not going into these details since I don't wanna bore anyone here But in-case you guys are interested I can answer any questions you have. I am open to any sort of advice, feedback or criticism you guys have xD Jab tk koe keerha na nikale zindagi ka maza ka ata he :lol: Will update this thread when I add more features.
EDIT:- Official Reddit thread here,
Posting some screens,
The same image after half an hour, You can see it converged more,
Last edited: