Welcome, Guest. Please login or register.

Author Topic: Amiga 3D Graphic Programming in Basic  (Read 4512 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show all replies
    • http://www.troubled-mind.com
Re: Amiga 3D Graphic Programming in Basic
« on: April 15, 2008, 12:00:27 PM »
While it was fairly straight forward to get a 68k to plough through the various transformation matricies required for a small number of low vertex polygons, I could never, not even on my 040, get anything more than a single simple cube to run at a reasonable speed... With AGA, simply trying to draw the texels takes an age! If I had a better background in maths and computer science, maybe I would have figured out a more optimised routine... But with Amiga, forget about texture mapping!

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show all replies
    • http://www.troubled-mind.com
Re: Amiga 3D Graphic Programming in Basic
« Reply #1 on: April 15, 2008, 12:34:39 PM »
Yeah, C2P would have helped, but I had lost interest in the whole thing before I had the texture mapping working properly... Pixel plotting speed was the least of my problems :-)

-Edit- I did learn about fixed point maths which was fun, though pointless in this modern world.

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show all replies
    • http://www.troubled-mind.com
Re: Amiga 3D Graphic Programming in Basic
« Reply #2 on: April 15, 2008, 01:03:15 PM »
Quote

lou_dias wrote:
real 3D math sucks...

recently I thought of what might be a better way to render and then I read about ray-tracing and it turned out that that's what I was thinking...but try to do that in real-time on any hardware, let alone Amiga...


Realtime raytracing is the way forward... It's the only way to improve the quality over the current generation of 3D hardware... Plus you get shadows and lighting effects for free... Trying to do shadows on OpenGL is so hard I gave up.

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show all replies
    • http://www.troubled-mind.com
Re: Amiga 3D Graphic Programming in Basic
« Reply #3 on: April 15, 2008, 04:35:18 PM »
Quote

Hans_ wrote:
@bloodline

I remember playing a 3D texture-mapped racing game on my A1200 with an 030@40MHz (with no graphics card, so it can be done.

Hans


It certainly can be done! But not by me :-)

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show all replies
    • http://www.troubled-mind.com
Re: Amiga 3D Graphic Programming in Basic
« Reply #4 on: April 15, 2008, 04:41:29 PM »
Quote

AJCopland wrote:
That's rather a broad statement : "It's the only way to improve the quality over the current generation of 3D hardware".


Not only broad, but also true! ;-)

Quote

Ray tracers aren't even used in most movies, Toy Story, Monsters Inc et al weren't done using ray tracers and indeed programmable shaders only came to modern 3D hardware from high-end scan line tracers so there's plenty of overhead left in conventional shading hardware and that's discounting it's ability to pull in elements of Ray Tracing.


Yes, there is headroom (I think the word you were looking for :-) ) in current hardware to get faster and more details.. sure... but... (I'll get to it later)

Quote

Its also true that using Ray Tracing doesn't magically give you anything that which you'd want in a modern game.


Yes it does... (still building this up for a dramatic effect)

Quote

Here the article and the following discussion (linked) should provide some decent background reading on the topic: John Carmack on ray tracing.

It's also quicker than me re-iterating some of the points made in that article/discussion :-D but to summarise : Ray-Tracing != "magical pancea to our graphical woes"

Andy


Raytacing gives you lighting effects for free... and if you've ever tried to write a shadow engine in your 3D code you'll know why I don't want to have to worry about it :-D

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show all replies
    • http://www.troubled-mind.com
Re: Amiga 3D Graphic Programming in Basic
« Reply #5 on: April 15, 2008, 06:45:44 PM »
Quote

AJCopland wrote:
Quote

bloodline wrote:
Raytacing gives you lighting effects for free... and if you've ever tried to write a shadow engine in your 3D code you'll know why I don't want to have to worry about it :-D


Just to really emphasise this point: It doesn't matter. Most of the time the examples you get that use ray tracing are quite contrived in order to achieve the maximum benefit of the technique. However a lot of the time what we use in games is deliberately stylised to get away from a realistic effect.

Sure a better lighting system will benefit some games. However there are plenty of games where you won't be able to tell the difference either.

I guess what I'm meandering my way around too is that switching to using ray tracing to achieve what I've already got and in the process potentially lose, or at least have to re-invent, some of the processes we rely on would be something of a double-lose in terms of time, effort and final effect.

Andy


You forgot to add that people don't code their own 3D engines any more and thus don't care how easy it is to add shadows and lighting effects... Just buy in an engine that does what you want and you're done.

Anyway, I actually agree that Raytracing might not be in itself the future... but the concept, maybe as a hybrid will be the future. All the major gfx companies are investing heavily in it, and the most important factor is that I like the look of it, and I've never been wrong when it comes to predicting technology curves :-)

You say that we would have to reinvent the wheel, but that's not strictly true, a lot of the current technology, filtering, antialiasing, sub pixel rendering are all technologies that are to cover up the current deficiencies, that are not present in raytracing technologies.

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show all replies
    • http://www.troubled-mind.com
Re: Amiga 3D Graphic Programming in Basic
« Reply #6 on: April 15, 2008, 09:35:54 PM »
Quote

AJCopland wrote:
Quote

bloodline wrote:
You forgot to add that people don't code their own 3D engines any more and thus don't care how easy it is to add shadows and lighting effects... Just buy in an engine that does what you want and you're done.

This is kinda true, I have worked with RenderWare I guess though never on an internal studio project. Only once when we did some outsourcing. Every other time they've always been internally coded. Then again maybe it'd be nice to work with a tried and tested codebase rather than the turd I'm working with at the moment...


I think we've all had to "work with a turd" before :-D

I think though, with something as complex as a modern 3D engine, it is only sensible to buy in a proven lump of code.

Quote

Quote

You say that we would have to reinvent the wheel, but that's not strictly true, a lot of the current technology, filtering, antialiasing, sub pixel rendering are all technologies that are to cover up the current deficiencies, that are not present in raytracing technologies.


Well all of those things are effects that you'll still need I think. Aliasing is an artifact of finitie resolution and AA is just a way of modifying the image to achieve sub-pixel sampling so that artifacts are reduced when displayed on a finitie screen.


With Raytracing you can get AA for free... well I say for free, but really i mean that it is handled by the extra complexity of algorithm... since the nature of ratracing (though I think really I/we maybe talking about raycasting... Damn I must read up on this stuff again...) means that the colour graduation of the pixel boundaries are inherently continuous... or something ;-)

Quote

DOn't quite know what you mean by the other two in some regards are getting a ray tracer to do sub-pixel sampling makes it go off in non-trivial ways.


They are techniques to cover the flaws in current  technology... I don't see their worth in raytracing.

Quote

I do agree that we'll see more hybrid rasterisers/ray tracers. There have been a few RTs written for shader model 3.0 up on GameDev that run almost entirely on the gpu so people are looking into it and it can be used for a lot of cool lighting things.


Ohh, that sounds interesting, I'll pop over there and have a look, cheers!

Quote

I just don't think that its actually anything like the leap that people imagine it to be though. Or as simple as people believe. You can write an RT that does all of the things that a modern rasteriser does but by the time you have got it running, and have accounted for the non-static issues you face in games and simulation, you've had to hack and cheat to make it work in just as many ways as people complain that rasterisation based engines are "hacks" & "cheats".


Yeah, it's going to be hard work getting Raytracting up to the level of rasterisers... but they are a mature technology with 20years worth of Dev... and they are already reaching their limits... new ideas need to be explored.

Quote

OpenRT shows that it can be done I guess but until Intel and their recent stupid "eveything will be ray traced it r t3h best!" claims are actually up and running with hardware acceleration for RT I can't see people making the effort to utilise it properly either.

Andy


We shall see!!!  :-)

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show all replies
    • http://www.troubled-mind.com