Inspiration
I’ve always loved watching animated movies and paying more attention to the animation styles and techniques that were used, the clarity and lifelike visuals that started to happen alongside my childhood. I got so fascinated by how much early Pixar movies improved and was so interested in learning about the advancement of rendering techniques and algorithms and how it was built up over time.
What it does
Along with my scene creation tool, and fluid simulator my OptiC program stands as the final render layer for my simulations. I am able to create dynamic scenes and stl objects through agentic supported tooling. I can then set complex material states for all objects in the scene and can also add ambient atmospheric fluid courtesy of my vf3d data source which holds the sidecar info for atmospheric simulations that I run with my Kinetic fluid sim. The rendering engine has a various set of integrators from direct light to diffuse bounce, to a deeper more complex Pixar level quality. It allows for full complex animation rendering and is currently being extended to allow more curated object motion and movement!
How we built it
I have built this over time through all phases of ChatGPT. I started it with a basic 2d ray tracer which shot out rays from a source and stopped the rays when it collided with an object, this was largely drafted by 4o and then refined by me at the time. As the program developed and the 2d mode focused more on camera pixel based calculations i was beginning to use codex through the cli for the first time and was able to start building extension behavior directly into it. As the cli tooling became more impressive I began to focus more on the program shell and building up a large set of core libraries which I call my FabriC this allowed me to create a much more professional standard of program. As the codex app was released I began to switch into the use case of allowing multiple agents to work on the program at once and was able to extend it into a 3d version, build up a complex material system and scene editor in the matter of weeks with updated codex models. After codex mobile was released I took the current form and realized I could extend the program to be accessible and runnable by ai agent from my phone so I created a worker node system hosted on my VPS and connecting to all my compute nodes so I could create and run simulations entirely through speech to text on my phone submitting it to an ai as a guided job to work through. Now with 5.6 release I’ve been working on multiple different lanes focusing on better visuals for complex scene meshes asynchronous deep rendering, I’ve also just started a new lane on motion authoring over time for scene objects.
Challenges we ran into
Early 2d ray tracing logic was focused on for too long and was too complex to try and employ 3d techniques into 2d. The move to 3d functional version fixed that entirely. With early agentic use often I would employ work realize it had gotten off track or reverted changes, so I quickly learned the importance of consistent git work when working with agents. I also have worked with a large amount of small various annoyances in regards to system level control and ui repeated aspects that were annoying to recode over and over. A quick adoption of shared library behavior extraction in all my code work helped future ai agents be able to apply and work in my system much more effectively.
Accomplishments that we're proud of
The last few months have been an incredible push of getting my programming language to a fully testable and functional compiler, and have now been able to run all of my programs including the optiC program which means the entirety of my simulation code in C can be physically validated by my system so that the code can be verified as physically correct with all unit and dimensions combinations. The feeling of running a full program on a set of compiled files that you fully built the compiler for from the ground up was a crazy experience to say the least.
What we learned
Overall I learned most importantly the idea of consistent work and a constant focused direction to go in. I’ve been working on this program now for about 14 months and have been able to watch it grow so much overtime through sheer dedication enough to tackle each problem that laid ahead of me, with goal of getting one step closer to the ideas I had laid out. Getting clear plan documentation built up, consistently dialoguing your plans out loud whether it be to friends or and ai to reflect your thoughts back and align your misunderstandings. Using the ai system to insanely deepen your understanding of the topics needed for your code to be built up safely has been so incredibly useful.
What's next for Cosm-optiC
A full authored motion system is being built up with the goal of allowing for a full 3d physics engine growing alongside the scene creation system so that the OptiC program can keep growing in its complexity of what it can render and the visual techniques it uses to do so.
Log in or sign up for Devpost to join the conversation.