3 ms·
Take a look at fb08: https://www.youtube.com/watch?v=5PZ73nLZaqc https://www.youtube.com/watch?v=5PZ73nLZaqc .How much of the content do you expect to be genera
by je42 12y ago
Take a look at fb08: https://www.youtube.com/watch?v=5PZ73nLZaqc https://www.youtube.com/watch?v=5PZ73nLZaqc .How much of the content do you expect to be generated by a system library ?
- MichaelGG 12y agoWell, that's what I'm asking. On a modern system, isn't most of the actual rendering being done by the gfx stack? Even lighting, right? So the app code might send out a definition of some polys and textures and the stack takes it from there. Right?
- theandrewbailey 12y agoSo the app code might send out a definition of some polys and textures and the stack takes it from there. Right? That's how modern 3D programming works in a nutshell, whether it's a game, demo, or CAD. A program provides data, parameters, and maybe small GPU programs (shaders). The stack takes it away, and does the nitty gritty math to transform triangles in 3D space, map them to 2D space, split into pixels, and apply images, lighting, etc. to them. https://en.wikipedia.org/wiki/Graphics_pipeline https://en.wikipedia.org/wiki/Graphics_pipeline http://www.arcsynthesis.org/gltut/Basics/Intro%20Graphics%20and%20Rendering.html http://www.arcsynthesis.org/gltut/Basics/Intro%20Graphics%20... If you really want to know what it does, I recommend you learn an API (Direct3D, OpenGL/WebGL). Everything underneath is handled by the stack. As for examples of what the program does and the system doesn't: for some demoscene stuff, the program uses procedural generation to generate models from mathematical descriptions, and textures by using noise functions and image filters. Here's a presentation of werkkzeug, the tool that Farbrausch uses: http://www.demoscene.tv/page.php?id=172&lang=uk&vsmaction=view_prod&id_prod=13597 http://www.demoscene.tv/page.php?id=172&lang=uk&vsmaction=vi...
- seanmcdirmid 12y agoWell, until you start doing really custom rendering in CUDA....
- theandrewbailey 12y agoAt that point, you know what the system does, and what the turtles are doing underneath you.
- MichaelGG 12y agoRight that was my point - if a 64k demo had to actually push pixels into a framebuffer or similar API (like it was 20+ years ago), how big would they have to be? That is, how many bytes are saved by having high level frameworks that can do T&L and more all in the stack?
- theandrewbailey 12y agoThat's probably a question that only an Nvidia or AMD engineer can answer.
- Narishma 12y agoIt hasn't been possible to do that on PC since the DOS days. You have to go through a number of abstractions (APIs, drivers) to display anything on screen, or to play anything through your sound card.
- pjc50 12y agoBytes are often added by the high level frameworks (see the megabytes of unused C library). Putting a pixel in a framebuffer requires a single instruction. You can do quite a lot of T&L in short bits of code. Have a look at the source code for Second Reality, one of the more popular demos of 20 years ago. https://github.com/mtuomi/SecondReality https://github.com/mtuomi/SecondReality particularly the draw code https://github.com/mtuomi/SecondReality/blob/master/VISU/ADRAW.ASM https://github.com/mtuomi/SecondReality/blob/master/VISU/ADR... ; admittedly it does one light and no texttures, but it does it in a few kb of assembly.
- bane 12y agoYeah sure in some sense. But try fitting all that geometry and texture work (and 11 minutes of music) into 64k. That's where the magic is these days.