7
Parzi
5y

god how the fuCK DO THESE DEMO EFFECTS WORK how do these guys do this shit i can barely draw a cube on a modern CPU and these assholes have realtime 3d on the 8086 how

Comments
  • 7
    Math ;)

    I actually did a 3D rotation in pascal long ago, with out any engine and the amount of code is not very much.

    I never made it to true z-occlusion so It only handled convex objects that did not have overlapping surfaces, so a very simple normal check was all that was required to avoid them clipping.

    But I have later found out about many quite easy solutions.

    The point is that once you know the real math, the code is not to hard, the problem is more about speed.

    And assembly is just very much more verbose ;)
  • 3
    Code back then didn't use a whole bunch of abstraction layers. It was hacking shit right into the video memory area. So each game back then had to implement its own graphic driver. That wasn't even too bad because graphic cards didn't have 3D support anyway.
  • 2
    @Voxera @Fast-Nop i'm aware of all this, my issue isn't making it good, it's doing it in the first place. I'm trying to do it in a higher language to figure out how the fuck it works before i go to assembly.
  • 2
    @Parzi I think some solid knowledge in linear algebra is helpful here.
  • 0
    @Fast-Nop Algebra, I can do. Making it not overlap? Making it spin in a way that isn't gross-looking and nauseating?
  • 2
    @Parzi Stuff like projection of a 3D scene onto the 2D screen and rotating objects is actually linear algebra. With vectors and matrices.
  • 2
    @Parzi I think by the time realtime 3d was running on 8086 there was a high level language available already
    Also those 3d real-time wasn’t as good as you are saying

    Even now most of the graphics library will have require some amount of math

    But if you really wanna dig in my fav project is pebble gui , running those cool vector animation on a cortex M0 is really awesome
  • 2
    @Parzi I assume your trying without an engine like unity then :)

    There are multiple ways, matrixes if you know them, quarternions (I know they are good, but I will not even try) and simple sin and cosin.

    i used the last solution.

    It has some drawbacks but is not to complex.

    But it involves two parts.

    First is the rotation of the point in 3D, second is mapping points to the screen.

    Its a good idea to do these separately.

    But you have to have a good grasp of trigonometry. And try to use a physical object and pen and paper to figure out and compute a rotation first.

    It helped me.
  • 0
    @Voxera yeah, I am, as i can't exactly use Unity on like a 386 or anything.
  • 1
    @Parzi jeez 386 is too old , for complex 3d design, what screen you are using?
  • 0
    @hardfault not specifically a 386, just something like that. And you can indeed do 3D on 8086 so a 3/486 or like a Pentium 1?

    (Also "complex 3d" doesn't really entail a cube. I'm trying to figure out oldschool demo effects atm... also Amigas handle it well, so.)
  • 1
    64kb demos are ALL math.
  • 0
    @NoToJavaScript 64kb is towards the realm of compression being feasible, something like 4k or 16k is more likely to be 100% procedural
  • 2
    @Parzi No, 64kb demos had a HARD limit. You could not address more than 64KB memory. That was the whole point.
    Package as many things as we can.
    Now it is just ‘Yeah, lol dude, go back to work”.
    I did not see a compelling demo in years.
  • 0
    @NoToJavaScript ...?
    64KB demos are size-restricted to 64KB or under binaries? I've never seen anything about only 64KB addressable???
  • 1
    Depends on multiple things you wanna just display a cube I think that’s possible even with 8k, but you want to make a graphics pipeline that can render primitives vectors and animation, you will need more like 32 to 256 kb depending on complexity also depends on how many pixels you wanna push
  • 3
    @hardfault yes, many demos used lower pixel count.

    But many also “sheated” whenever they could and those techniques is mot going to be found in books ;)
Add Comment