> • wrote 3D animation software used in “Jurassic Park” • software R&D lead on “Final Fantasy: The Spirits Within” movie • senior software developer on “The Hobbit” films
I know 3D graphics, but I realize there are folks out there who know a lot more than I do in their respective fields. And I hope to tap into that knowledge.
Back in the 90s, Joel Welling and Chris Nuuja at the Pittsburgh Supercomputing Center at CMU developed a similar system called P3D.
It was really cool, and they had a bunch of backends to render on different high end graphic workstations. We even had a Pixar Renderman hooked up to a laser disk recorder. You could script a 3D scene with different light sources and cameras and over the course of a week, render some high quality NTSC video.
I don't think it's entirely true that there's no documentation beyond the readme - aren't the code/concepts from your blog a reasonable introduction to people that want to jump in?
I think that some computational geometry problems admit nice solutions using Projective Geometric Algebra. Using it is fairly intuitive: You have some elements of the algebra that represent Euclidean motions, and some other elements that represent flat objects like points, lines and planes; you can then intersect these objects, "join" them into larger objects, and apply transformations to them. If it looks to you like it could make some things you're doing easier, then you might try using it. I think there are already some Common Lisp implementations out there -- but if there aren't, then it shouldn't be difficult to make one from scratch.
There's also Conformal Geometric Algebra, which is notable for allowing you to represent circles and spheres as elements of the algebra. But efficiently implementing it appears to be harder than PGA.
I am quite interested in exploring new ways of doing 3D interpolated animation. Especially when it comes to visualizing and controlling the motion by the animator.
I have not yet seen a system or UI that I am happy with.
Having a flexible enough GUI toolset to allow this sort of development is definitely on my mind.
I think with such projects it is more important for the leaders to focus on the the higher level architecture, the data structure and algorithms and their proper documentation rather than the coding finished product.
Of course they can code when these details are fleshed out, but these traits in a project are what make it easier for more people to join and contribute.
My view is that there are more than enough people to make open source projects succeed, but trying to unravel and understand other peoples poorly documented architectural decisions and code is what make things difficult.
`i.reddit.com` links are even better. Renders great on mobile, and little to no clutter for every subreddit, regardless of the CSS customizations made.
I love Common Lisp but I feel that for a project like this to actually go somewhere it needs to have goals beyond the "we'd like to rewrite the software A in language L" trope.
There are many inspirations that we can take from CL development experience that might make for interesting directions to take 3D software systems. For example a live sharable image based environment would be sweet to allow artists to easily collaborate in real time.
I'll be keep an eye on this, I might have some time for CL projects in the future and would love to help out if possible.
You are absolutely right. And I don't have a logical argument as to why this will actually go somewhere. At best, all I can say is "If you build it, they might come."
I wrote about this in my blog a while back, if you can stomach the overthinking. :)
Been using it for almost all my personal projects for a few decades now. It's the only language that I don't feel is fighting me when I develop my code.
I find it ironic that instead of adopting ND's unique technology, Sony shut it down and went with standard fare. In business, the platform with the most available "developers" usually wins out.
It's very difficult to justify the training effort and cost for non-mainstream technology, even if it is demonstrably more productive. Easier to just hire twice as many staff.
In a particular year in the late 80s or 90s he was the UK's highest earner by dint of bringing his mathematical genius to bear on the trading activities of Tokai Bank.
My first "a ha" moment using lisp, when i suddenly got my first glimpse of understanding the whole code-is-data-is-code thing and what it makes possible, was my favorite moment using computers, and nothing before or since even comes close. Try it sometime, it's great.
[+] [-] john2x|3 years ago|reply
> • wrote 3D animation software used in “Jurassic Park” • software R&D lead on “Final Fantasy: The Spirits Within” movie • senior software developer on “The Hobbit” films
> But I don't consider myself an expert
Looks like a cool project though!
[+] [-] kaveh808|3 years ago|reply
I know 3D graphics, but I realize there are folks out there who know a lot more than I do in their respective fields. And I hope to tap into that knowledge.
It's going to take a team to do this project.
[+] [-] dougb|3 years ago|reply
P3D: a Lisp-based format for representing general 3D models https://dl.acm.org/doi/10.5555/110382.110608
P3D DESCRIPTION AND DEFINITIONS http://netghost.narod.ru/gff/vendspec/p3d/p3d_desc.txt
[+] [-] kaveh808|3 years ago|reply
I remember those days. :)
[+] [-] eschaton|3 years ago|reply
[+] [-] e12e|3 years ago|reply
https://kaveh808.medium.com/
Previously on hn: https://news.ycombinator.com/item?id=31115221
[+] [-] kaveh808|3 years ago|reply
[+] [-] gus_massa|3 years ago|reply
Can you make a tl;dw video? 1 minute, perhaps 3 minutes.
Some links to some arbitrarily selected parts of the video:
Something about (random?) particle flow: https://www.youtube.com/watch?v=NJe4isZ7NHI&t=1649s
A 3D graph a bull (and later the teapot): https://www.youtube.com/watch?v=NJe4isZ7NHI&t=2155s
[+] [-] kaveh808|3 years ago|reply
I'll work on a promotional video.
[+] [-] kaveh808|3 years ago|reply
[+] [-] ogogmad|3 years ago|reply
I think that some computational geometry problems admit nice solutions using Projective Geometric Algebra. Using it is fairly intuitive: You have some elements of the algebra that represent Euclidean motions, and some other elements that represent flat objects like points, lines and planes; you can then intersect these objects, "join" them into larger objects, and apply transformations to them. If it looks to you like it could make some things you're doing easier, then you might try using it. I think there are already some Common Lisp implementations out there -- but if there aren't, then it shouldn't be difficult to make one from scratch.
There's also Conformal Geometric Algebra, which is notable for allowing you to represent circles and spheres as elements of the algebra. But efficiently implementing it appears to be harder than PGA.
[+] [-] kaveh808|3 years ago|reply
I have not yet seen a system or UI that I am happy with.
Having a flexible enough GUI toolset to allow this sort of development is definitely on my mind.
[+] [-] vfclists|3 years ago|reply
Of course they can code when these details are fleshed out, but these traits in a project are what make it easier for more people to join and contribute.
My view is that there are more than enough people to make open source projects succeed, but trying to unravel and understand other peoples poorly documented architectural decisions and code is what make things difficult.
[+] [-] truncate|3 years ago|reply
Looks cool, although I don't understand much of graphics, I always felt, with lisp macros you can probably do bunch of cool things around graphics.
[+] [-] chii|3 years ago|reply
[+] [-] kaveh808|3 years ago|reply
[+] [-] Guthur|3 years ago|reply
There are many inspirations that we can take from CL development experience that might make for interesting directions to take 3D software systems. For example a live sharable image based environment would be sweet to allow artists to easily collaborate in real time.
I'll be keep an eye on this, I might have some time for CL projects in the future and would love to help out if possible.
[+] [-] kaveh808|3 years ago|reply
I wrote about this in my blog a while back, if you can stomach the overthinking. :)
https://kaveh808.medium.com/15-interlude-musings-and-over-th...
Perhaps another way of putting it: This is what I want to spend my time doing.
[+] [-] lbj|3 years ago|reply
[+] [-] kaveh808|3 years ago|reply
[+] [-] unknown|3 years ago|reply
[deleted]
[+] [-] leetrout|3 years ago|reply
https://en.m.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp
[+] [-] kaveh808|3 years ago|reply
It's very difficult to justify the training effort and cost for non-mainstream technology, even if it is demonstrably more productive. Easier to just hire twice as many staff.
[+] [-] kaveh808|3 years ago|reply
[+] [-] vfclists|3 years ago|reply
In a particular year in the late 80s or 90s he was the UK's highest earner by dint of bringing his mathematical genius to bear on the trading activities of Tokai Bank.
You might tap your namesake for some funding.
[+] [-] kaveh808|3 years ago|reply
[+] [-] jcelerier|3 years ago|reply
[+] [-] kaveh808|3 years ago|reply
[+] [-] dgan|3 years ago|reply
[+] [-] lispm|3 years ago|reply
Common Lisp is also object-oriented with classes, generic functions and methods.
Thus the source code will contain lots of class definitions, lots of methods with multiple argument dispatching over classes.Thus the source code will contain all the usual class and method declarations.
Common Lisp may also contain optional type declarations. For above example the slot BAR of the class FOO has a type NUMBER.
[+] [-] brabel|3 years ago|reply
[+] [-] acalzycalzy|3 years ago|reply
[deleted]
[+] [-] nmg|3 years ago|reply
[+] [-] mattpharr|3 years ago|reply
[+] [-] EddySchauHai|3 years ago|reply