English Amiga Board


Go Back   English Amiga Board > Creation > Graphics

 
 
Thread Tools
Old 11 December 2020, 16:46   #1
Ernst Blofeld
<optimized out>
 
Ernst Blofeld's Avatar
 
Join Date: Sep 2020
Location: <optimized out>
Posts: 321
Cheating at 3D

I've written some 3D code which I'm in the middle of testing. It now seems obvious that there's little point in doing the full 3D perspective transformation for any object that's not actually really close to the viewer, the model of a Eurofighter that I'm using to test with becomes only 15 pixels wide when the model is set to 500 metres away. Much further than that and it's not really recognisable and things actually start to break down as the polygons become a bit degenerate. At some point the object just becomes a single pixel, and that's not much fun to watch.

So, I'm thinking of cheating for certain objects that are far enough away and just calculating a center point and then drawing them at fixed scale(s) without the perspective transform. I may even precalculate and blit these objects in.

So, I'm looking for opinions here. Is it going to look bad? Does anyone know of any examples where similar things are done? Should I just use a simpler model for far away objects and forget trying to be clever?
Attached Images
 
Ernst Blofeld is offline  
Old 11 December 2020, 16:51   #2
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
I'm not sure if games used pre-calculated objects to blit in these cases, but I am certain that some games change objects that are far away into smaller or bigger 'points'/filled circles.

Example: Elite 2 does this (more so at lower detail levels) - once objects get far enough they change into first a small filled circle and later into just a dot. I'm pretty sure these stages are just blit (either with Blitter or with CPU) and not actually calculated.
roondar is offline  
Old 11 December 2020, 17:02   #3
Ernst Blofeld
<optimized out>
 
Ernst Blofeld's Avatar
 
Join Date: Sep 2020
Location: <optimized out>
Posts: 321
Quote:
Originally Posted by roondar View Post
I'm not sure if games used pre-calculated objects to blit in these cases, but I am certain that some games change objects that are far away into smaller or bigger 'points'/filled circles.

Example: Elite 2 does this (more so at lower detail levels) - once objects get far enough they change into first a small filled circle and later into just a dot. I'm pretty sure these stages are just blit (either with Blitter or with CPU) and not actually calculated.
I've never played it, I think it came out too late for me, but I've just gone and watched a YouTube video comparing the ST and Amiga versions. It certainly made me feel better about my frame rate.

Edit:

Ok, and my calculator tells me that precalculating isn't really an option for space reasons, so it's probably more about how I go about simplifying the models, and whether or not and how I can drop the perspective transform.

Last edited by Ernst Blofeld; 11 December 2020 at 17:12.
Ernst Blofeld is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
What Amiga games have you finished, WITHOUT CHEATING? Bloodwych Amiga scene 231 12 June 2021 17:40
Has anyone actually completed Project-X without cheating? diablothe2nd Retrogaming General Discussion 49 31 March 2020 15:51
Is Rapid Fire Technically Cheating? ransom1122 Retrogaming General Discussion 24 10 March 2017 13:46
'Rogue' Cheating / Debugger / Trainer Rednoc Nivert request.Old Rare Games 11 24 July 2015 21:09
Is 'save state' cheating? Anubis Retrogaming General Discussion 52 15 March 2007 20:11

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 23:04.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.07550 seconds with 16 queries