home *** CD-ROM | disk | FTP | other *** search
- 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 --
-