Skip to content

Galaxy Engine 1.7.0 - Optics Update

Choose a tag to compare

@NarcisCalin NarcisCalin released this 23 Jul 19:57
· 41 commits to master since this release

This new major update brings light simulation with ray tracing, as well as some quality of life additions and bug fixes.

Changelog:

  • Added ray-traced light simulation
  • Added "Optics" tab
  • Added new tools menu
  • Added "Long Exposure" feature
  • Added new presets showcasing the new optics features
  • Added new basic stats for optics (enable optics to see them)
  • Improved UI readability
  • Galaxy Engine now uses 16 bits-per-channel color data internally. This enables more accurate colors, especially for dark values.

I decided to go for a PBR approach, meaning that you can make scenes and modify materials similar to how you would in a traditional 3D path tracer. The lighting simulation does approximate some things more than others, like energy conservation and dispersion.

The ray tracer is geometry-based, which means that it doesn't use mathematical functions for shapes. Instead, shapes are made out of individual edges, again, similar to 3D rendering tools. This means that walls and shapes have edge normals and vertex normals. These normals allow smooth shading while using actual geometry.

All that said, here is a list of features the ray tracer showcases:

  • Diffuse lighting
  • Specular reflections
  • Refraction
  • Emission
  • Specular roughness
  • Refraction roughness
  • Fresnel simulation
  • Index of Refraction (IOR)
  • Nested dielectrics with different IOR
  • Light dispersion
  • Total internal reflection
  • Sampling with ray accumulation
  • Wall creation
  • Draw shape tool
  • Lens creation tool
  • Circle creation tool
  • Diffuse color editing
  • Specular color editing
  • Refraction color editing
  • Emission color editing
  • Light color editing
  • Shape relaxation
  • Point lights
  • Area lights
  • Cone lights
  • Light spread

Here you can see a video that showcases some of the new features:

https://youtu.be/wxoEvtipIrg

I have a background in 3D rendering, and now that I know how to code, I thought to myself: "I could make my own ray tracer!" And so, this is why I started working on this update. It was a fun experiment, and I'm glad that I did it. But now that I've finally finished it, I'm getting back to particles.

I hope you like it!