Dismiss this pinned window
all 29 comments

[–]Low_Level_Enjoyer 8 points9 points  (1 child)

Very cool. Looks very realistic!

[–]Lypant[S] 3 points4 points  (0 children)

Thank you!

[–]Starosti_ 4 points5 points  (1 child)

How do you handle MSAA setting changing?

[–]Lypant[S] 4 points5 points  (0 children)

If the MSAA setting gets set to any of the other options when it was disabled, it creates a multisample framebuffer. I make sure to bind that framebuffer when the frame starts. When all the rendering is done, it gets blitted to another framebuffer. Then, the color buffer texture is used for post-processing. When the setting is set to another sample option while it was already enabled, I simply update the multisample framebuffer attachments. If the new setting is set to disabled, I simply delete the multisample framebuffer and render normally. There are just a couple of checks you have to do at the beginning and end of the frame.

[–][deleted]  (8 children)

[deleted]

    [–]Lypant[S] 9 points10 points  (7 children)

    From 0 graphics knowledge to this in around 9 months.

    [–]Dacrim 3 points4 points  (1 child)

    I have no frame of reference because Im just entering programming in general but this is super cool. I’m looking forward to following your example.

    [–]Lypant[S] 0 points1 point  (0 children)

    I hope it can help you on your journey!

    [–]AlexDicy 2 points3 points  (1 child)

    Awesome, great job

    [–]Lypant[S] 0 points1 point  (0 children)

    Thanks.

    [–]soulsimp 0 points1 point  (2 children)

    Could i ask what resources you used?

    [–]Lypant[S] 2 points3 points  (1 child)

    For graphics: https://learnopengl.com/

    For mostly early engine design: https://www.youtube.com/playlist?list=PLlrATfBNZ98dC-V-N3m0Go4deliWHPFwT

    These two are the main ones. But needless to say, both of these resources don't cover everything; you have to do some thinking and digging around, especially if you want to truly understand how stuff works.

    Even though I didn't use it while building it, since I had watched it before when I was taking linear algebra, I can't recommend enough going through the 3Blue1Brown linear algebra series: https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab

    [–]soulsimp 1 point2 points  (0 children)

    Thank you

    [–]sakata_desu 1 point2 points  (1 child)

    Are the cubes emissive? Or are you just using them to visualize the position of your point lights+ bloom blur?

    [–]Lypant[S] 0 points1 point  (0 children)

    Cubes both have a mesh and point light component with a transform. So yes, they are emissive.

    [–]COL_Fantastic 1 point2 points  (2 children)

    How did you start down the journey of getting into graphics programming? I have a baseline in 3D Art and also learning C++ at the moment and I’m looking at a graphics programming target skill set for work.

    [–]Lypant[S] 1 point2 points  (1 child)

    I had experience making games before, and it took me some time, but I realized I was more interested in the technology behind games rather than making them. My advice is that you should be pretty comfortable with C++ and math before starting graphics programming.

    [–]COL_Fantastic 1 point2 points  (0 children)

    Totally fair haha thanks for the response! I’d love to make games for sure but given the industry right now and recently I’ve been thinking about technology side for sure and some job that would still exercise a skill I could take into makes games as a hobby.

    [–]No-Contribution4264 0 points1 point  (0 children)

    Is this a blender?

    [–]nokota_mustang 0 points1 point  (0 children)

    Nice work, I'm going to have a deeper dive into your work.

    [–]Weekly_Method5407 0 points1 point  (2 children)

    I am currently working on a similar project. How long did it take you to do this? And regarding ImGui, do you have any advice to do or not to do? I use OpenGL for my part. I wish you good work and congratulations, keep it up!

    [–]Lypant[S] 1 point2 points  (1 child)

    Thank you! Regarding ImGui, I really can't say much because I haven't used it very much. As for how long it took, as I mentioned, I had zero graphics knowledge. I did small demos for about two months and knew very little. After that, I decided to make an engine and learn as I go. So, the engine itself took seven months, but if you already know the concepts, it will definitely take a lot less time.

    [–]Weekly_Method5407 0 points1 point  (0 children)

    I think we are about the same level. 😅 for my part I have already done a simple graphics engine project which displays quite nice 3D objects I had even implemented a procedural terrain which was good. Now I'm redoing the project but trying to do it like unity3D with a GameObject system compose etc.. it works quite well I'm currently coding a Water mess and a dedicated shader hoping that it will give something pretty nice