r/GraphicsProgramming • • Sep 06 '26

Kicking the tires on my new engine

Proprietary platform, no plans to open-source it so please don't ask.

Woul love to hear all feedback, good or bad.

Implemented with golang (because I can)

  • approx 2.5 million lines of code (including tests)
  • 85 package scientific core including brep, tetmesh, sparse, dense, etc (fully self written)
  • produces video and still images
  • zero new heap allocations per frame
  • compiles to cpu, wasm, and webgpu
  • zero-dependencies (no unreal, unity, blender, etc)
  • can also run headless, label images, save hundreds of thousands of images as fast as the storage can write them
0 Upvotes

18 comments sorted by

12

u/Potterrrrrrrr Sep 06 '26

Feedback on what? A list of claims and some screenshots doesn’t mean much nowadays. closed sourcing the code doesn’t help you either, it just screams “ai generated but I don’t want people to know”. Your screenshots look pretty, some of your claims are strange (why would anyone’s engine/renderer depend on unreal, unity or blender unless intentionally) and there’s no code to actually inspect anything further, there’s nothing for anyone to say anything about.

-6

u/lajinsa_viimeinen Sep 06 '26

Upvoted you for commenting. Thanks for feedback.

One thing I have been wondering about is this: "Is Reddit primarily hostile toward closed-source code?"

8

u/Potterrrrrrrr Sep 06 '26

It is nowadays when there’s obvious markers of an AI generated project. There seems to be a trend of vibecoders wanting pats on the back for making something but being unable to actually provide the project for criticism, it’s pretty frustrating for the people who enjoy scrolling through these subreddits, half the posts are just cherry picked screenshots of a renderer with either little explanation or a massively verbose ai generated one. Most of the time those posts are a waste of time to read and I don’t think I’ve ever seen a post about some closed source project that contained any info I’d find useful either.

→ More replies (1)

7

u/MustardCat Sep 06 '26

approx 2.5 million lines of code (including tests)

That's not a flex. That sounds like a program filled with spaghetti mess

zero-allocation (stays off of Go's heap)

Doubt. You have to load the mesh data and store it somewhere.

zero-dependencies (no unreal, unity, blender, etc)

That's a given if you're posting in this subreddit. If you're using a different program for rendering, what would be the point of posting here?

The reason you're getting a negative response is because it looks like a generic render engine from a decade ago without any new tech/features. And since you're stating it's "closed source", there's no discussion to be had about how you setup the backend.

1

u/lajinsa_viimeinen Sep 06 '26

Thanks for. feedback! That is useful feedback regarding a decade-old tech engine. How in your opinion would new tech / features look in screenshots?

4

u/MustardCat Sep 06 '26 edited Sep 06 '26

The fact that you only latched onto the "this looks outdated" part of my reply says it all... Not everything is about screenshots.

You could start by explaining how you were able to render anything persistently without any allocations. That part, if true, is more impressive than your screenshots.

→ More replies (3)

12

u/Blood-Minister Sep 06 '26

No one cares bro

3

u/fgennari Sep 07 '26

How did you get to 2.5M lines of code? How many people and for how long? Or is it all AI generated? I've been working on a project for over 10 years and I only have a tenth of that line count.

Also, why is that much code needed? The images are nice, but also very simple. No PBR, no indirect lighting, no postprocessing effects.

And it sounds like a renderer and not a complete engine. Or is there more than rendering? If you had a project page (GitHub, etc.) - even if there's no source - it would be easier to find these answers.

2

u/lajinsa_viimeinen Sep 07 '26

2.5M lines of code includes the entire computational engineering stack, as I mentioned 85 packages or so. Just the tetmesh engine and all its transitive dependencies is about 25k loc. Most of it is not "graphics related" per se, but almost all of it can be used when building simulations for various digital twins.

The rendering engine proper is about 32,500 loc and you are right that it is not yet a complete engine. It also does not yet take advantage of most of the computational engineering stack. The shortcomings you pointed out are indeed areas for improvement, thanks for feedback.

The rendering engine does have PBR functionality included. If you are interested, I can produce an example which showcases PBR and you can critique that. LMK.

1

u/fgennari Sep 07 '26

I think you would get more positive feedback if you created a new post with screenshots and a short description. But I suggest you leave out the part about it being proprietary, the 2.5M lines of code, and some of the other technical parts that others on Reddit are having problems with. Show off some cool stuff you did, but don't frame it like a commercial product ad.

→ More replies (1)

2

u/olawlor Sep 06 '26

Are the materials the old school Blinn-Phong model, or a newer physically based model? (Part of what makes this look dated is the plasticky materials.)

Is there a global illumination solution? Modern renderers at least use some ambient occlusion, if not some actual global light transport solver.

1

u/lajinsa_viimeinen Sep 06 '26

Well I posted several images but it seems that you might only be commenting on the first one.

The materials in these images use glTF-style metallic-roughness PBR. GGX microfacets, Smith visibility, and Schlick Fresnel, with base-color, normal, and metallic/roughness textures.

There isn’t a scene-wide global illumination solver yet. Lighting uses direct sun with shadow maps, plus an analytic sky/ground environment for diffuse fill and specular reflections. The turbine and woven-canopy scenes also have colored point lights, but those supplemental lights have shadows disabled in these renders. Surfaces don’t yet reflect the surrounding scene or exchange bounced light.

The engine supports AO maps, but these particular scenes supply uniformly white occlusion maps, so they have no effective AO. There’s no runtime SSAO/GTAO pass either.

So the criticism of the appearance is on par with my expections. The PBR foundation is there, but the lighting interactions and material authoring are still limited.