Hacker Newsnew | past | comments | ask | show | jobs | submit | baigy's commentslogin

One protip is this site is fundamentally different from reddit. You'll find a greater concentration of intellectuals here. Fewer "drive by shooters" if you know what I mean. And it's much more tightly policed. Stay on topic and enjoy!


My belief is it'll get better over time with organic shapes as LLMs improve their ability to synthesize higher order differentials. I also believe the future may not be coded 3D everywhere, but a mix of code and dumb 3D. But I'm not a huge fan of inverse code recovery; I found that to be extremely lossy.

Do you want to connect over discord or linkedin or something, to cross-pollinate ideas?


Agreed. I think you'll be interested in seeing this: https://app.nova3d.xyz/showcase


Whoa super cool, you guys got the patent too. I hope there's no cease and desist in my future lol (kidding..... not kidding).


I don't work at Apple anymore so if you do it won't be from me. :)

Happy to chat about this stuff from a conceptual level if you're interested. ping me on linked-in

https://www.linkedin.com/in/jackgreasley/


Would love to compare notes. It's compiler-shaped rn. The generated code is the source and Blender is the current build target. Python directs Blender's native geometry operations only. I also already generate UVs from the coded model before GLB export, while its part structure is still available, which helps avoid recovering everything from one fused spiderweb mesh. Visual checks aren’t the only option either. Having the code gives us direct structural checks too. Btw curious to see your SDF approach.


https://github.com/yuechen-li-dev/Aetheris

So, yeah, mine is full geometry kernel that was made for CAD. I'll do a full write-up on Show HN later as there is just way too much stuff to cover for the project. The gist of it is that it is a compiler for 3D models that takes the high-level language, which I named Firmament, and lowers it to STEP AP242 mapped BRep in C#.

So, for SDF, it was originally conceived as a method to solve the general case 3D BRep boolean problem through methodology similar to libfive/Fidget in FRep directly. The problem is that we immediately ran into the same wall that everybody else did attempting to recover mesh/BRep structure from the SDF blob, spent like a week doing BRep patches for it, before we ultimately concluded that it was not really possible to do as FRep is a lower representation than either BRep or mesh. It's probably more useful for continuum physics/fluid dynamics in the future than it is for CAD/solid mechanics/3D modeling, but currently the SDF pipeline is just kinda sitting there as dead code and not being used much.

https://github.com/yuechen-li-dev/Aetheris/tree/master/Aethe...


This is super interesting. Especially the high-level language > STEP/BRep lowering. Tt feels very complementary to the mesh path we're exploring and potentially the right backend when exact solids matter. I feel your SDF conclusion is useful too. It's tempting to treat it as a universal intermediate, then discover you've lost the structure you need later.

I'll dig into the repos and would compare notes afterwards.


IMO, it's like asking: do you feel comfortable admitting you used a calculator instead of doing mental math?


No, it's not like that at all.

A calculator uses known deterministic algorithms to compute an answer. As long as you stay within the precision bounds, you'll get reliable and correct answers 100% of the time.

An AI is the result of randomness put through a simulated evolution, each one is different. We tend to expect them all to be the same, but that would be like redoing the big-bang until present, and expecting the dominant beings to be human, live in the same countries, speak the same languages, and believe all same cultural norms.

Nobody really groks how alien AI truly is.


what does an internal process matter if the input to output transformations are acceptable. there are many many different ways of writing a software calculator, or a protocol stack, or codec modules; internally they may be wildly different, but as long their function mapping is identical, one's understanding does not play a role.

as a more extreme example: do we all understand how our brains work? we use it every day and interact with other brains.


ive noticed a real uptick in people trusting AI for stuff like medical advice because it always seems to make sense but when it comes to a specialist topic they know a lot about they can go on and on about all of the subtle and often quite dangerous mistakes it makes.


this has existed for centuries -- scientists who are religious, folks relying on quack doctors, astrology, tarot reading is nothing new. for every person willing to risk their lives by playing doctor, llm amplifies their belief, and it is not the fault of llm that the person lacked basic critical thinking skills. i don't believe technology invents human gullibility.


Are you familiar with the idea of probabilistic algorithms?

Determinism can be a liability.


Yes, I'm familiar

The point I was trying to make is that a calculator never guesses at the answer, it's got an algorithm instead of a mass of predictions.


The marginal payoff from incremental innovation produces lesser and lesser endorphins as we age. They increasingly become a smaller part of our experiences.

And btw, by and large, this happens to every feeling, not just excitement from technological innovation.


I hear that...


I co-authored this paper. It's a new technique to generate 3D graphics as source code instead of a point cloud.

Under the hood, it generates 3D objects with separate, sophisticated internal assembly, producing an editable "kit of parts" (instead of monolithic blobs).

E.g. imagine you generated a 3D washing machine via this approach. It's not merely going to be just "geometry" that looks like a washing machine. We actually know that there is a `Door`, `Drum`, `Control_panel` etc. Which things belong to which assemblies. What moves and where its pivot is. And eventually what those components are supposed to do.

Most current 3D GenAI cannot do this since it generates "monolithic blobs" that look good, but are unusable in downstream workflows (e.g. game engines). I.e. if you generate a 3D bicycle using traditional approaches, it's basically a blob. When you need the wheels to turn, a human (or another AI) must spend time cutting the blob into parts, naming them, placing pivots and rigging joints. I.e. you need post-generation segmentation workflows of some sort.

The paper breaks down the whole technique, and there's a showcase (+ github repo) you can play around with: https://nova3d.xyz/


> there's a showcase (+ github repo) you can play around with: https://nova3d.xyz/

Before anyone else bothers giving them your Google account, there's zero free generations, something they conveniently don't disclose until after funneling you to sign up.


Try the blender plugin. It's got full BYOK: https://github.com/RareSense/Nova3D/releases/tag/blender-plu...

Sorry I got more traction on Blender and haven't integrated BYOK on the app.

P.s. the max I can do is BYOK. I can't hand out free gens. I'm paying out of my own pocket.


> Sorry I got more traction on Blender and haven't integrated BYOK on the app.

It seems to have BYOK in the web app now? did you just add it? The only issue is it doesn't accept Gemini AQ authentication keys.

> P.s. the max I can do is BYOK. I can't hand out free gens. I'm unfunded and paying out of my own pocket. It is what it is.

Understandable, sorry if I sounded overly harsh, it was just an unexpected surprise.


Have you explored optimizing the assets to be game-ready?

This kind of decomposition works if you have a single object on screen, and it's super artist + programmer friendly. But the generated assets have ~50 mesh parts, which means importing just a couple of these into a scene and you've blown your entire draw call budget for a shippable game; once you start adding things like shadowing it's game over. It's the brick wall every gamedev realizes after trying to make a scene out of easy-to-work-with primitives. You just can't hit a playable frame rate like this unless your entire game consists of just a few objects.

Have you experimented with atlasing, mesh fusion, baking animations, standardizing PSO's to a scene budget, etc? Because if this can't be automated, I've found it really limits the utility of such freeform generation techniques, since the approach is fundamentally incompatible with performance on today's graphics stack.


If all of these meshes use the same shader (which they do, its just PBR) they can be all drawn with a single multidraw indirect call.

Edit: thinking more about it, since the objects are small they could be rendered with mesh shaders achieving further perf improvements. Also fine grained decomposition helps with culling. IMO the real problem is that rendering in game engines does not map well to modern hardware. Unreal engine went full software rendering with nanite replacing the whole pipeline (which brings significant drawbacks) and everyone else is using graphics with techniques 15 years out of date which leads to this mismatch between what is possible with hardware and what is good practice with game engines.


Isn't today's graphics stack moving in the direction of dynamically-optimized meshes (ie. Unreal's Nanite)?


Yup. But that's 10x more complicated, and needs an even more specialized baking phase that's even further from the raw representation. It only multiplies the issue.

And Nanite is not really designed for the kinds of lower fidelity fully articulated objects we're talking about here.

I will say though: I think things are going to move to neural rendering faster than people expect. So maybe the future is low fidelity highly articulated objects rendered with img2img. But nobody is seriously doing that yet.


neural rendering isn't rendering


Thanks for that feedback. rn I've been chasing editability over runtime. the ~50 parts are basically the source code representation, not necessarily what should ship. since you get the code as well as the glb, my thinking is you should be able to say "keep the wheels and doors separate, merge everything else, optimize for mobile" or change those rules directly in code, then rebuild a leaner glb. The same source could compile differently for web, mobile or desktop. But honestly I haven't built or properly benchmarked that optimization pass yet. I still need to test mesh fusion, atlasing, LODs, collision proxies and material/PSO limits in a properly populated scene, not just on a single object. your comment is making me think this should be an explicit part of generation/export, not cleanup we leave to the gamedev afterwards. appreciate you raising it.


My ideal would be the model generates the sources (so it's programmatically tweakable after the fact, which is the entire appeal), but there is an open source compilation tool or something that can optimize it for the different use cases after you've made your tweaks.

Devs could probably make their own version of this; every engine/consumer of assets is different and needs tweaking. But there is no engine that won't choke on the raw version, so someone needs to make an optimization baseline or show how it's possible.

Thanks for considering!


hey, first author here. This is a very fair point. rn we’re optimizing more for editability than runtime. the ~50 parts are basically the source code representation, not necessarily what should ship. since we give you the code as well as the glb, my thinking is you should be able to say “keep the wheels and doors separate, merge everything else, optimize for mobile” or change those rules directly in code, then rebuild a leaner glb. the same source could compile differently for web, mobile or desktop. but honestly we haven’t built or properly benchmarked that optimization pass yet. we still need to test mesh fusion, atlasing, LODs, collision proxies and material/PSO limits in a properly populated scene, not just on a single object. your comment is making me think this should be an explicit part of generation/export, not cleanup we leave to the gamedev afterwards. appreciate you raising it.


This looks super interesting. I'm trying out the hosted app using "bring your own key", I've added an OpenAI key but it doesn't seem to let me generate a 3d model. It's still saying I need credits. Is this expected?


I see what you're doing. If you use the blender plugin, you'll get BYOK: https://github.com/RareSense/Nova3D/releases/tag/blender-plu...

With the app, I haven't added BYOK yet. I guess I should have before I posted on HN!


Hang on right there!


How does this compare to parametric modeling tools like Fusion/Solidworks/ProE ? Is it more about the integration with game specific tools?


There’s overlap in spirit, but we’re not trying to replace the precision of Fusion/SolidWorks. the idea is that an agent writes an editable 3D program from your prompt/reference, including geometry, parts and eventually behavior. Blender/GLB is our current target, so it looks game-oriented rn, but games aren’t the whole idea. for a mechanical CAD use case we’d want the same experience backed by a real CAD tool/kernel rather than pretending mesh geometry is engineering-grade. I think of CAD, Blender and game engines as different possible build targets for the same broader idea.


Cool. Do the individual parts still use point clouds? Or are they meshes or CSG?


The parts are originally defined in code, not stored as point clouds. That code builds the geometry using primitives, curves, custom mesh operations and sometimes CSG/booleans. When executed in Blender, the final exported GLB contains meshes.


How far are we from speaking a GameCube-era game into existence as a pastime?


GameCube-era game (with full synchronous multiplayer play): 1-2 quarters. Early "self-generating" Metaverse: ~ 3-6 quarters. The Matrix: ~5-7 years


I am doubtful about the timeline.

Not because AI can't do it; it totally can. LLMs have been able to run the full artist + code pipeline at least since the beginning of the year. I've built several physics-synced network simulation stacks without reading a single line of code. Agents playtest my games overnight and I wake up to a list of technical issues fixed, and FPS boosted. If you know how to ask the shaders will look great.

The problem is that making a game actually worth playing (something that Nintendo would allow to be released) isn't something that was ever possible to do as a pasttime, AI or not. You have to be in front of the computer all day guiding it. Worse, AI does not have any notion of experiencing or evaluating fun, so you can't automate this. So the LLM can't actually make the "game" part of the game. This would be a killer research problem to tackle, though!

If we're talking about making something that passes a sniff test, you could make a metaverse right now. It just wouldn't meet the bottom of the Steam free tier in terms of what players prefer.


I agree. AI does not solve "product market fit". It mostly solves engineering. Currently AI is great as a tool, but not really a co-creator with taste.


> Agents playtest my games overnight

I'm curious if you want to elaborate. What kind of games? Turn based? Do you just feed it repeated screenshots?


> Agents playtest my games overnight I'm curious if you want to elaborate. What kind of games? Turn based? Do you just feed it repeated screenshots?

3D ARPG with dozens of systems, think Genshin or Fortnite. But it's all typescript running in the browser, so native browser introspection/debuggability came for free. The biggest problem TBH is the LLM thinking this is a web app, so it makes webby UIs that look out of place in the context of a game :D

Fable has a cromulent time building its own tests, tools and pipelines. But there's no magic, it literally uses the gamepad and plays the game itself, taking screenshots, profiling, and debugging as it goes. The game ticks are fully controllable so it can frame-advance at its own pace.

Sometimes I take screenshots if it's some very complex multi-step repro. But 90% of the time it drives the engine itself.


Did I read this right? The objects are still just surfaces, not solids?


The current output is polygon meshes + the source code. So technically "surfaces", rather than CAD/B-rep solids. Many parts are closed volumes, but we don't claim manufacturing-grade solid geometry. This paper is focused on the Blender/mesh path. A CAD-solid backend would be a different target.


So fucking cool.


Thanks, here's a showcase you may like: https://app.nova3d.xyz/showcase


> I like turtles

ROFL


Turtles has got to be in the running. haha


It's almost like a decentralized door dash. Unfortunate that it's going away.


I don’t know much about this system. But is it really possible for a VC backed service like door dash to compete against it?


It could, by bringing better customer service. However, the decentralization aspect of the real thing is very intriguing for me. I wonder if there's a way to standardize this service offering while keeping decentralization in its core architecture. That'll be the best of both worlds really. Could probably revitalize this industry too.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: