home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 3
/
AACD03.BIN
/
AACD
/
Graphics
/
Resources
/
3DWorld-FAQ
next >
Wrap
Text File
|
1999-09-02
|
24KB
|
740 lines
3D World Mailing List FAQ
The 3D World Mailing List FAQ
Last Updated: 26/6/99
Maintained by Paul Qureshi <paul@mc68k.demon.co.uk>
Contributions from: Thomas Frieden
Derick Smit
== 0. Introductory Information ============================================
>> Introduction >>
This is the 3D World Mailing List FAQ. It contains information and frequently
asked questions from the 3DWorld list at the Haage & Partner web site
(www.haage-partner.com). It is maintained by me, Paul Qureshi
<paul@mc68k.demon.co.uk>.
This FAQ aims to provide a comprehensive reference for anyone using the
3DWorld ML. To this end, it has information on all topics commonly covered
on the list. These are the aims of this FAQ:
A. Provide answers to common questions asked on the list, to make
things easier for those interested and to lower the bandwidth
used on the mailing list.
B. To serve are a useful reference to those interested in 3D graphics,
including Haage & Partner products.
>> Availability >>
This FAQ is available directly from several places:
-- The 3DWorld Mailing List (monthly post)
-- Authors website: www.mc68k.demon.co.uk/faq/3dworld-faq.txt
-- Haage & Partner website: www.haage-partner.com
-- Aminet: www.aminet.org
If you would like to mirror (keep a copy) of this FAQ on any other site,
please email the author (me: paul@mc68k.demon.co.uk) so I can keep you
updated.
If you find somthing wrong with the FAQ or have any comments, please mail
me about them. I am always looking for feedback :)
| FAQ on on the web
| www.mc68k.demon.co.uk/faq/3dworld-faq.txt
| Haage & Partner website
| www.haage-partner.com
| Aminet
| www.aminet.org
>> Formatting >>
The FAQ is split into 'parts' and 'sections'. Each part covers one single
broad topic, such as Warp3D or OpenGL, and is referred to by a number. Each
section is then referred to by a letter, and covers a single topic within
each section, such as games or system requirements. Each question within a
section is referred to by a number.
When URLs are included in a question/answer, they are repeated at the end
of the question for easy access. This saves you hunting through questions
for some URL or email address. Also, I tend to give the address of entire
web sites, not just particular files. This is a way of paying tribute to
the web site author, and it has the added bonus that you may see something
you like while you are there :)
== Table Of Contents ======================================================
1: General information on the 3DWorld ML
A. Subscription and maintenance
1. What is the 3DWorld ML?
2 How do I join/leave the mailing list?
B. Using the list
1. Is there anything I need to know about this mailing list?
2. What is considered on-topic?
3. What are Threads That Would Not Die (TTWND)?
4. What is the 3DWorld FTP server?
2: Frequently asked questions on the 3DWorld ML
A. General 3D Graphics Related Questions
1. What is an API?
2. What is a HAL?
B. Warp3D Related Questions
1. Where can I get the latest version of Warp3D?
2. What are the system requirements for running Warp3D?
3. What boards/chipsets does Warp3D support?
4. What versions of the RTG libraries/flashroms work with board
xxx?
5. Will there ever be a software driver for Warp3D?
6. Why will the Warp3D Voodoo driver use Glide as an interface?
7. I have Cybergraphics PPC, and Warp3D does not work with it.
8. I installed/updated Warp3D by hand, and it doesn't work.
9. When will there be support for 24bit rendering with the Virge?
10. Where can I find more information on Warp3D?
C. OpenGL Related Questions
1. What is OpenGL?
2. What OpenGL implementations are there for the AmigaOS?
3. How does OpenGL perform on the Amiga?
4. Why is MESA so slow compared with other OpenGLs?
5. Is MESA any good for writing/porting games?
6. How easy is it to port OpenGL based applications?
D. General Questions
1. Why don't people optimise their programs with PPC assembler?
3: Reference lists
A. Books
1. General 2D/3D Graphics related
2. 3D game programming
B. Net resources
1. FTP sites
2. Misc web sites
3. 3D graphics engines
4. Misc algorithms
5. Usenet groups
== 1: General information on the 3DWorld ML ===============================
-- A. Subscription and maintenance ----------------------------------------
1. What is the 3DWorld ML?
--------------------------
The 3DWorld Mailing List is for the discussion of 3DWorld related products,
details of which can be found on the Haage & Partner web site at
www.haage-partner.com. It can be joined by anyone with an email account and
is unmoderated. It runs on a Majordomo server. All mails from the list have
[3DWorld] in the subject somewhere.
| Haage & Partner web site
| www.haage-partner.com
2. How do I join/leave the mailing list?
----------------------------------------
The easiest way is to go to the www.haage-partner.com. From there follow the
link for your preferred language, then look for the '3D World' link.
Requests to join the list may be sent to majordomo@haage-partner.com. Put
this in the body of the mail:
subscribe 3dworld-list
Make sure the 'reply-to' address of your mail is set correctly to the
address where you want to receive mail.
To unsubscribe, send:
unsubscribe 3dworld-list
to the same address.
| Haage & Partner web site
| www.haage-partner.com
| 3D World ML server
| majordomo@haage-partner.com
| Send commands in mail body
-- B. Using the list ------------------------------------------------------
1. Is there anything I need to know about this mailing list?
------------------------------------------------------------
As with most public discussion forums, you should follow standard netiquette.
Briefly:
·Don't post off-topic posts.
·Keep posts as short as possible and to the point.
·Don't quote entire mails when replying to posts, only quote the relevant
parts. This reduces bandwidth use and makes it easier to read your replies.
·Don't shout (i.e. USE ALL CAPITAL LETTERS) or swear, people will take more
notice if you calmly state your arguments.
·The list's primary language is English. If you want everyone to listen to you,
then English is the language to use.
·Never post spam (unsolicited email, usually trying to sell or advertise
something).
·Do not discuss illegal software. This includes QuakePPC and any stolen
source code.
·Do not post HTML.
·Do not post binaries (programs, pictures etc).
·Do not let your posts get bigger than about 20-30k, at the very most.
·Do not post about Threads That Would Not Die (see section 1.3).
·Don't just answer something for the sake of argument or to save face. We
are all wrong sometimes. If your answer does not advance the argument at
all or simply repeats something already said, don't bother.
·Never take things personally, even if someone personally insults you just
ignore it. Replying will only lower yourself to their level, and all
others probably resent them for making the post anyway.
·Use abbreviations to clarify yourself. Use IMHO for opinions and IIRC when
quoting from memory. This way no one can misunderstand your meaning when
making posts that may not be entirely factual.
·Don't use excessive emotions. :DDDDDDDDDDD is no better than :) or a
simple <g>.
·If you are unsure your post is relevant or on-topic, keep it short and to
the point and only post if really necessary.
·If you change the subject of a post you are replying to significantly,
remember to change the subject line too.
·Some people are very busy, so don't take it personally if they don't
answer your posts.
·Don't post religious or political beliefs. There are plenty of newsgroups
for that.
It is a good idea to read the list for a few days or weeks before posting, as
this will give you a good idea of how the list works and what is/is not
acceptable.
Above all, remember that the list is there to help people and to have
interesting and friendly discussions on. Always keep that in mind, and even if
people don't agree with you just remember that everyone is entitled to their
opinion. If there was no disagreement or discussion, life would be very
boring!
2. What is considered on-topic?
-------------------------------
The 3DWorld ML is for discussion of all topics related to 3D World
products. At the current time, this includes Warp3D and StormMESA.
Discussion of OpenGL, Rave3D, Glide and other HALs/APIs, the Virge,
Permedia2, Voodoo and other 3D chipsets, 3D applications and games (from a
technical point of view) and announcements of Amiga based 3D programs all
are considered on-topic. Links to 3D graphics related web sites, books and
source code are also welcome, although please don't post source or HTML to
the list itself.
However, there are a few topics that should not be discussed. See the next
section (1.3) for more information.
3. What are Threads That Would Not Die?
----------------------------------------
Threads That Would Not Die (TTWND) are topics that have come up over and over
again. TTWND have been discussed so much that every possible argument has been
heard, and now no-one is interested. Please don't post about these topics. Any
TTWND that were on-topic at the time are probably answered in this FAQ anyway,
so there should be no need to ask. Here is list of TTWND so far:
·Quake for Warp3D
- When the sources are released (maybe in early 2000) people will make a
port.
·QuakePPC
- It's illegal, so don't ask, not even for benchmarks.
·8x86 vs. 680x0 vs. Dec Alpha vs. PPC etc
- It's all pointless, as different architectures give different
performance gains/losses. For instance, PPC on Amiga and PPC on the Mac
will differ in performance depending on the task, the version of the OS,
the model of machine used and many other factors. Also, all that matters
is performance on Amiga systems, comparisons with other systems are
irrelevant.
·Zorro III vs. PCI vs. ISA vs. AGP
·Amiga vs. IBM PC vs. Playstation vs. N64 etc
·Walking through walls in the Warp3D 'Engine' demo crashes the machine
- It's just a demo. The source is available, and if you feel strongly
about it you can fix it yourself. The author has no intention to do so.
·The Warp3D Voodoo driver should not use Glide
- Answer in the FAQ
·Will there be a software driver for Warp3D?
- Answer in the FAQ
·Frames Per Second (FPS) benchmarks for program x.
- FPS is mostly irrelevant. Program usability is more important,
regardless of what the frame rate is.
4. What is the 3DWorld FTP server?
----------------------------------
It is a private server for files related to Warp3D. See the Haage & Parnter
web site for more information and details on uploading software.
| 3DWorld FTP Site
| ftp.haage-partner.com/3dworld/
| Haage-Partner Web Site
| www.haage-partner.com
== 2: Frequently asked questions on the 3DWorld ML ========================
-- A. General 3D Graphics Related Questions -------------------------------
1. What is an API?
------------------
API stands for Application Programmers Interface, and as its name suggests,
is simply way for applications to interface with other programs or
libraries. An example of an API is the Amiga's own intuition.library. The
ARexx ports of many programs could also be considered APIs for ARexx
programming. An API for a specific type of hardware is called a HAL. APIs
tend to exist on more than one platform, so programs can be ported from one
platform to another without too much hassle. For example, porting OpenGL
programs to Amiga is quite easy, as Mesa duplicates almost all of the
OpenGL API.
2. What is a HAL?
------------------
HAL stands for Hardware Abstraction Layer, and is an API for hardware. A
HAL provides a common API for accessing the low-level functions of
different pieces of hardware of a specific type. For instance: Glide is a
HAL that lets applications access the Voodoo chipset on various graphics
cards. HALs tend to be more hardware specific than software APIs, so
porting from one hardware platform to another is not always so easy as
using a higher level API, as equivalent HALs may not exist. For example,
porting Direct3D programs to Amiga currently means converting all the
Direct3D calls to their Warp3D equivalent.
-- B. Warp3D Related Questions --------------------------------------------
1. Whare can I get the latest version of Warp3D?
------------------------------------------------
Try the Haage & Partner web page (www.haage-partner.com) or Aminet.
| Haage & Partner web site
| www.haage-partner.com
2. What are the system requirements for running Warp3D?
-------------------------------------------------------
3D Graphics Card (see next section, 2.2.3)
68020 or better
FPU (Floating Point Unit)
Hard Drive
Workbench 3.0/3.1
Picasso96 V1.41 or better / Cybergraphics V3/V4 or better
8mb or more memory recommended
Beware of EC CPUs, they don't have an FPU. Really, you need at least on 040
to get anything worth while out of Warp3D. Lots of RAM is also helpful.
3. What boards/chipsets does Warp3D support?
--------------------------------------------
Here is a complete list as of 21/06/99:
Board Chipset
------------------------------------
CyberVision64 3D Virge
CyberVisionPPC Permedia 2
BlizzardVision PPC Permedia 2
The following boards/chipsets will be supported in coming versions:
Board Chipset
------------------------------------
PIV 3D Add-on Voodoo I
4. What versions of the RTG libraries/flashroms work with board xxx?
--------------------------------------------------------------------
Thomas Frieden has provided the definitive list of libraries and flashroms
that work with Warp3D. Newer or older versions may (should) work, but these
are the definitive ones:
-- Permidia 2 and Cybergraphics V3
Library: cgxsystem.library 41.21beta1
FlashROM: CVisionPPC 2.7 beta 3
-- Permidia 2 and Cybergraphics V4
Library: cgxsystem.library 42.0
FlashROM: 4.0 beta 4 (both BVisionPPC and CVisionPPC)
-- Virge and Cybergraphics V3/V4
Library: Generally, every version after 41
-- Virge and Picasso96
Library: Picasso96 v1.41 or later
Many thanks to Thomas Frieden for that information.
5. Will there ever be a software driver for Warp3D?
---------------------------------------------------
The definitive answer here is 'maybe' :). The situation is this: The
documents needed to create a software driver are available to anyone who
wants them. Basically, anyone is allowed to write one if they just ask the
Warp3D developers for the driver development kit. However, no one has so
far said that they will definitely produce a driver, although a few people
have said they will look into it.
Discussion of it at the moment is fairly pointless, as until a working
driver is available no one can say what it will be capable of. However, it
is likely to be developer only (i.e. it's so slow it's no good for games,
only for developers wanting to test output to ensure good compatibility or
to develop without 3D hardware).
Rest assured, any updates on this situation will appear here and on the 3D
World ML.
6. Why will the Warp3D Voodoo driver use Glide as an interface?
---------------------------------------------------------------
For those who have not heard this argument, it goes something like this. The
Voodoo add-on module from Village Tronic (www.villagetronic.com/amiga/) used
the Voodoo chipset produced by 3DFx (www.3dfx.com). As 3DFx only allows
access to the Voodoo chipset via its own Glide interface, Warp3D must use
Glide for its Voodoo driver.
Some people are concerned about the speed penalties this may have on the
driver, as two interfaces are used (Warp3D and then Glide). The debate over how
much this will affect performance has been done to death, and it seems only
time will really tell. However, this has become a TTWND and is in fact a
totally pointless argument, as it would be illegal for Warp3D not to use Glide.
3DFx have never given any other API or HAL access to the hardware, so there is
no point discussing it anymore.
| 3DFx - Voodoo and Glide producers
| www.3dfx.com
7. I have Cybergraphics PPC, and Warp3D does not work with it.
--------------------------------------------------------------
This is a known problem. The solution is not to use CGX PPC, but instead
the 68K version of Picasso96. CGX PPC doesn't actually contain any PPC
code, so there is little benefit in using it. If you really want it you
could use a dual boot system (one for PPC, the other for 68K).
8. I installed/updated Warp3D by hand, and it doesn't work.
-----------------------------------------------------------
You MUST install Warp3D with the installer script provided. It will not
work any other way. Undo what you did and use the installer script.
9. When will there be support for 24bit rendering with the Virge?
-----------------------------------------------------------------
24bit rendering will never be supported for the Virge as the authors of
Warp3D have stated. The reason is that the Virge 24 bit modes use strange
timing, and the authors cannot support. Please don't ask.
10. Where can I find more information on Warp3D?
-----------------------------------------------
The Haage & Partner (www.haage-partner.com) web page is a good place to
start. The various Amiga graphics and programming related newsgroups are
also a good place for information.
| Haage & Partner web site
| www.haage-partner.com
| Amiga newsgroups
| comp.sys.amiga.programmer
| comp.sys.amiga.graphics
-- C. OpenGL Related Questions --------------------------------------------
1. What is OpenGL?
------------------
OpenGL is a 3D graphics API for high level graphics functions. It differs
from Warp3D in that it doesn't just draw polygons, it can be instructed to
draw 'primitives' (basic shapes) and more complex ones like cubes with
single calls to the API. It can also do transformations and various
shading/lighting functions.
OpenGL, as it's name implies, is an open standard. Anyone can develop an
OpenGL implementation at no cost, and if they wish sell it.
2. What OpenGL implementations are there for the AmigaOS?
---------------------------------------------------------
There are several available. The first is MESA, a direct port of MESA for
Unix. Next up is StormMESA, again based on MESA but slightly more
integrated with the AmigaOS and StormC.
AmigaMesaRTL is another Amiga OpenGL implimentation, but is software
only. Finally there is CyberGL, distributed with Phase 5 PPC cards.
MESA and StormMESA use Warp3D for hardware acceleration, if available.
Otherwise, software rendering is available.
| StormMESA availability
| Haage & Partner web site
| www.haage-partner.com
| MESA availability
| Aminet
| www.aminet.org
3. How does OpenGL perform on the Amiga?
----------------------------------------
This depends on the implementation. MESA (and StormMESA) is quite slow
compared with some OpenGL standards. Without hardware acceleration MESA
will really struggle on anything but the simplest applications.
For real performance from MESA, a fast PPC and hardware acceleration
(preferably a Permedia 2) is required. Even then, don't expect the
performance given by x86 OpenGL implementations.
4. Why is MESA so slow compared with other OpenGLs?
---------------------------------------------------
The simple answer is that MESA is free and open source. While the OpenGL
standard is free and open, implementations don't have to be. The
implementations on other platforms (SGI and x86 machines for instance) have
been developed by full time employees of large companies. They have been
heavily optimised. MESA was developed by hobbyist programmers and is
nowhere near as optimised since this would require more time than the
authors have.
Having said that, ID software have chosen MESA for the Linux version of
Quake 3. MESA is therefore not that bad, but don't forget this is running
on a very powerful x86 system with 3D hardware acceleration. The Amiga
version can't yet benefit from this, although PPC is going some way to
making up lost ground.
There is the possibility of a 'MiniGL' being made on the Amiga. This is
basically a cut down version of the full OpenGL, designed for speed rather
than completeness. Further information will be posted to the mailing list
when it is available.
5. Is MESA any good for writing/porting games?
----------------------------------------------
This depends on the game. On fast machines some games are very playable.
However, very complex games will not run well on Amiga MESA ports. Also,
there are some issues with MESA's compatibility with other 3D
hardware platforms. Generally, most games will be unplayable without 3D
hardware acceleration, and as the current chips don't support, for
instance, all blending modes that some games use, modifications would have
to be made and a simple recompile would not be enough.
Then again, ID prove that MESA is a viable platform if given the right
hardware specs as they are using it for Quake 3 for Linux.
6. How easy is it to port OpenGL based applications?
----------------------------------------------------
This all depends on the game. If it uses MESA, it should be a bit simpler.
For some apps it is a simple matter of recompiling the source, for others
it requires a lot of modification. OpenGL experience helps a lot.
-- D. General Questions ---------------------------------------------------
1. Why don't people optimise their programs with PPC assembler?
---------------------------------------------------------------
PPC works by having lots of registers (fast storage locations) and few
instructions. This combination makes it very hard for a human to beat a
compiler when optimising any code greater than maybe a screen full of text.
The code produced by PPC compilers is 99% of the time better than the human
could manage.
Having said that, there is a definite advantage to using assembler for
small parts of speed-critical applications that are used often by the
application. This is usually the innermost loops and maths routines of 3D
applications. It is only sensible to do this once code has been finalised
in C, as trying to keep assembler and C versions up to date (needed for
dual 68K and PPC projects) is very difficult.
Recently, a 68K assembler to PPC assembler converter has been released. It
is available on Aminet in the PPC680x0.lha archive in dev/misc. It is very
new and as how it will affect things is still to be seen.
== 3: Reference lists =====================================================
-- A. Books ---------------------------------------------------------------
1. General 2D/3D Graphics related
· Computer Graphics: Principles and Practice
James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes
ISBN 0-201-84840-6
2D/3D Computer graphics bible
* Two version, one in C and one in Pascal.
· 3D Computer Graphics
Watt
Addison-Wesley
Alternative to above book
* Pascal source examples
· Advanced Animation and Rendering Techniques
Watt, Watt
2. 3D game programming
· The Black Art Of 3D Games Programming
André LaMothe
The Waite Group
ISBN 1-57169-004-2
-- B. Net Resources -------------------------------------------------------
1. FTP sites
· ftp.uu.net:pub/graphics/
Misc graphics related
2. Misc Web sites
· http://members.xoom.com/silicon
Nurbs + more
· http://www.flipcode.com/
Nurbs + more
· http://www.funet.fi/~pora/
Nurbs + more
3. 3D Graphics Engines
· http://www.genesis3d.com/
Genesis3D
Open source
· http://www.ii.uib.no/~alexey/
Poly Engine
Uses Quake 2 data files
Open source
4. Misc Algorithms
· Library of Efficient Data structures and Algorithms (LEDA)
Available from Aminet
5. Usenet groups
· comp.graphics.algorithms
· comp.graphics.animation
· comp.graphics.api.opengl
· comp.graphics.apps.lightwave
· comp.graphics.misc
· comp.graphics.rendering.misc
· comp.graphics.rendering.raytracing
· comp.sys.amiga.graphics
· comp.sys.amiga.programmer
· 3dfx.glide
· 3dfx.glide.linux
· comp.games.development.programming.algorithms
-- End Of FAQ --