User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
general:faqs_users [2007-12-26 19:35]
Carsten Updated forum link
general:faqs_users [2015-05-18 22:09] (current)
Line 1: Line 1:
-====== User FAQs ======+====== User FAQ ======
  
-===== Where can I learn more about 3D programming or game engines? =====+===== Why does my Personal Firewall report Cafu.exe? =====
  
-There are many available resources regarding 3D-engines and related their subjectsboth online ​and offline in the form of traditional books and papers. The following is list of literature that I find interesting. I have also included ​few comments. The list is not meant to be completeThe comments are simply my personal opinions ​and experience.+When you start Cafuit internally starts a client ​and a server, then connects to itself when new map is loaded. 
 +This is done even for pure single-player games, ​and thus your Windows or Personal Firewall reports that ''​Cafu.exe''​ is establishing a network connection.
  
-  * [[http://​nehe.gamedev.net|NeHe OpenGL Tutorials]] \\ Excellent OpenGL tutorials for beginners ​to the advanced\\ \\ +Therefore, please set your firewall ​to not block Cafu from network access
-  * http://​www.opengl.org \\ The official OpenGL website, and the first place to search for information about OpenGL. \\ \\ +If you do not plan to host Cafu game server or join a Cafu internet gamethere is of course no harm in blocking access from and to the internet for ''Cafu.exe''​, but for single-player gamesbasic access ​to the local network ​is required.
-  * [[http://​graphics.lcs.mit.edu/​~seth/​pubs/​pubs.html|"​Visibility Computations in Densely Occluded Polyhedral Environments"​ (1992)]] \\ Seth Teller'​s dissertation about Potentially Visibility Sets (PVS): ​common data structure in modern 3D engines that speeds up rendering. \\ \\ +
-  * [[http://​www.faqs.org/​faqs/​graphics/​bsptree-faq|BSP-FAQs]] \\ Introductory information about BSP trees. \\ \\ +
-  * "​Computer GraphicsPrinciples and Practice"​ by Foley, vanDam, Feiner & Hughes. \\ Some say this is the bible of computer graphics - and it's trueIt covers nearly everything there is to know. An excellent reference, but have a look into the table of contents before buying it. \\ \\ +
-  * "​Radiosity and Realistic Image Synthesis"​Michael F. Cohen and John R. Wallace. Morgan Kaufmann Publishers, Inc., San Francisco, California. \\ \\ +
-  * "​Radiosity. A programmers perspective.",​ Ian Ashdown. John Wiley & Sons, Inc., New York, N.Y. \\ \\ +
-  * "Zen of Graphics Programming,​ 2nd edition"​ by Michael Abrash. \\ Much easier ​to read than "​Computer Graphics"​. Most of this book is about low level DOS graphics programming (outdated now, but good nonetheless). The final chapters are a collection of Abrash'​s articles that appeared in the "Dr. Dobbs SourceBooks"​ series. They contain information about BSP trees, span sorting, etc.+
  
  
-===== Can see the source code? Is Ca3DE open source? =====+===== Cafu reports an "​Initialization Error",​ what can do? =====
  
-The source code of the //Ca3DE DeathMatch MOD// is included with the latest SDK (Software Development Kit)which in turn is available at the http://www.ca3d-engine.de/​download.php website. +{{ :​cafu_init_error.png?​240|Cafu Initialization Error}} 
-Feel free to use it, contribute to it, or take it as a start or reference ​for your own completely new 3D game. +If you see an initialization error similar to the one in the image to the rightthe most frequent cause is that the drivers for your sound or graphics hardware are outdated or incomplete (e.gmissing an OpenGL implementation)Please install ​or update the drivers ​for your hardware first, then try again.
-The source code of the Ca3D-Engine core is only available under license.+
  
 +If that doesn'​t help, run ''​Cafu.exe''​ from the [[wp>​Command_Prompt|command prompt]] with the ''​-log console.txt''​ option. For example:
 +<code bash>
 +> Cafu.exe -log console.txt
 +</​code>​
 +The contents of the newly generated file ''​console.txt''​ might give you a clue about why the initialization error occurred. If it doesn'​t,​ please post both the error message and the contents of the ''​console.txt''​ file at our [[http://​forum.cafu.de|forum]] or [[http://​www.cafu.de/​support/​mailing-lists|mailing-lists]].
  
-===== For what platforms is Ca3DE available? ===== +Note that you can run 
- +<code bash> 
-Currently, there exist releases for **Windows** (all recent versions) and **Linux** (also all recent and common versions)+> Cafu.exe --help 
-The Ca3DE Demo for both platforms is available ​at the Ca3DE Download site at http://www.ca3d-engine.de/​Download.html +</​code>​ 
- +to see a list of all available ​command line optionsThey might be useful ​to work around the problemand if you post at the forums, we might ask you to try some of them to further narrow ​the problem down.
-Principally,​ Ca3DE can also easily ​be ported ​to additional platforms. For exampleall that currently stops me from porting it to the Mac is that I neither have the hardware nor software that would be required for a port.+
  
  
 ===== Why do you use OpenGL? I think that DirectX is better. ===== ===== Why do you use OpenGL? I think that DirectX is better. =====
  
-Here are some features of OpenGL that made me choose it as the main rendering API:+Here are some features of OpenGL that made us choose it as the main rendering API:
   *  very well documented,   *  very well documented,
   *  portable and available on many platforms,   *  portable and available on many platforms,
Line 38: Line 36:
   *  independent industry standard,   *  independent industry standard,
   *  powerful extension mechanism that makes it possible to support the latest features of new 3D graphics boards immediately.   *  powerful extension mechanism that makes it possible to support the latest features of new 3D graphics boards immediately.
- +You may also find [[http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX|this blog message]] interesting ;-)
- +
-===== What does the '​Ca'​ in all the names starting with Ca.. mean? ===== +
- +
-My first name is Carsten, hence the project name //​**Carsten'​s 3D Engine**//​. +
-Both //​**Ca3D-Engine**//​ and //​**Ca3DE**//​ are abbreviations of the project'​s name and are, therefore, used synonymously. +
- +
-//Ca3DE// also refers to the file name of the main engine executable that comes with each demo. And lastly, the names of my development tools are prefixed with "​Ca..."​ as well, e.g. //CaBSP//, //CaPVS// and //​CaLight//​. +
- +
- +
-===== How can I run my favourite map from game ***** with Ca3DE? ===== +
- +
-That's not possible at all. +
-Please do also refer to [[faqs_users#​how_is_ca3de_releated_to_quake_half-life_doom|this FAQ]] for more information. +
- +
-Ca3DE is //**not**// a simple map viewer for maps from other games! It is a fully self-contained 3D engineAlthough it is possible to convert the "​source code" of maps from other games under certain assumptions to Ca3DE, and the upcoming Ca3DE World Editor "​CaWE"​ will even have some import capabilities for such cases, Ca3DE maps are compiled by my own compile tools, and therefore the resulting maps are //​incompatible//​ with Quake or HL maps. +
-Ca3DE is //entirely unrelated// to Quake or Half-Life. Recent versions are technically much more sophisticated,​ too. +
- +
- +
-===== How is Ca3DE releated to Quake, Half-Life, Doom, ...? ===== +
- +
-**Short answer:** Not at all. Have a look at the latest demo, and see for yourself. Note that Ca3DE employs the latest state-of-the-art dynamic lighting effects since its October 2003 release, //even before Half-Life2 or Doom3 were out!// +
- +
-**Long answer** (mostly refering to previous releases of Ca3DE): Some people believe that Ca3DE is somehow derived from Quake or Half-Life, but that'​s ​not true. Of course, I'm a fan of both Quake and Half-Life, got inspired by those games, and partially use the same technical nomenclature. +
-//However, I've written Ca3DE entirely myself ​every single line, and from scratch. Note that this also includes the renderer, the network code, all map compile tools, and the utilities!//​ +
-The real problem is probably the artwork. I'm a bad artist, and so I usually ask famous artists of the game community if I may use their maps, models, textures, and so on. If they agree, I convert and use their work with Ca3DE. As an unfortunate consequence,​ Ca3DE looks awkwardly similar to the games for which the artwork was originally made, even though the underlying technology is entirely different. Thus, it is really very frustating to experience people who believe that Ca3DE is a Q1 or HL clone. This is also the reason why I'm constantly looking for artists to help me out. Note that since the October 2003 release, the situation is becoming better: More than 95 percent of the textures in that release have been created exclusively for Ca3DE!+
  
  
 ===== Why is the image quality low? How can I improve it? ===== ===== Why is the image quality low? How can I improve it? =====
  
-In normal operation, the Ca3D-Engine ​provides state-of-the-art image quality that is achieved by employing the latest methods in rendering technology. +In normal operation, the Cafu engine ​provides state-of-the-art image quality that is achieved by employing the latest methods in rendering technology. 
-However, if the image quality is lower than you expected or not as good as shown in the [[http://​www.ca3d-engine.de/c_ScreenShots.php|reference screenshots at the Ca3DE website]], these are the common causes for reduced image quality: +However, if the image quality is lower than you expected or not as good as shown in the [[http://​www.cafu.de/gallery|reference screenshots at the Cafu website]], these are the common causes for reduced image quality: 
-  * If your graphics board is of an older make and model, it might not have a programmable GPU. Programmable GPUs however are required for rendering the sophisticated image effects of the Ca3D-Engine. As a consequence,​ if the Ca3D-Engine ​has detected that no programmable GPU is present on your system, it automatically falls back into the best compatible mode that still works on your system. Normally you should also see an info message about this situation, but it is easy to miss the message. \\ Unfortunately,​ the fall-back mode cannot provide the image quality that programmable GPUs can provide, as then the lighting and shadows have to be computed per-vertex rather than per-pixel, or their effects even have to be disabled entirely. In this case, you will see no dynamic lighting and no shadows at all. \\ If this situation applies to your system, nothing can be done about it but getting a more recent graphics card. +  * If your graphics board is of an older make and model, it might not have a programmable GPU. Programmable GPUs however are required for rendering the sophisticated image effects of the Cafu engine. As a consequence,​ if Cafu has detected that no programmable GPU is present on your system, it automatically falls back into the best compatible mode that still works on your system. Normally you should also see an info message about this situation, but it is easy to miss the message. \\ Unfortunately,​ the fall-back mode cannot provide the image quality that programmable GPUs can provide, as then the lighting and shadows have to be computed per-vertex rather than per-pixel, or their effects even have to be disabled entirely. In this case, you will see no dynamic lighting and no shadows at all. \\ If this situation applies to your system, nothing can be done about it but getting a more recent graphics card. 
-  * The texture detail in the initial options dialog is only set to "​medium"​ quality by default. ​have chosen that setting in order to not disappoint the FPS freaks among you, because higher quality normally also reduces the FPS. You can set the texture detail to the "​high"​ setting in order to get higher texture resolution and thus higher image quality. Please note that the "​high"​ quality setting can sometimes considerably lower the frame-rate, depending on the details of your graphics board. You may also want to read the other FAQ about low FPS in this regard. +  * The texture detail in the initial options dialog is only set to "​medium"​ quality by default. ​We have chosen that setting in order to not disappoint the FPS freaks among you, because higher quality normally also reduces the FPS. You can set the texture detail to the "​high"​ setting in order to get higher texture resolution and thus higher image quality. Please note that the "​high"​ quality setting can sometimes considerably lower the frame-rate, depending on the details of your graphics board. You may also want to read the other FAQ about low FPS in this regard. 
-  * The default display resolution of Ca3DE is 1024*768. That setting has been proven a good compromise between image quality and frame-rate, but you might increase it within the console in order to increase the image quality. 2048*1536 looks really cool, but then the FPS is also extremely low.  ;)+  * The default display resolution of Cafu is 1024*768. That setting has been proven a good compromise between image quality and frame-rate, but you might increase it within the console in order to increase the image quality. 2048*1536 looks really cool, but then the FPS is also lower.  ;-)
   * Some graphics boards with early generations of programmable GPUs are inherently limited in the image quality that they can provide (at a reasonable performance). For example, GPUs that are based on the NV2X series of NVidia GPUs do show specular highlights that look "​blocky"​. Nothing can be done about that (except getting a more recent 3D board with at least NV3X or ATI Radeon 9600 or higher support).   * Some graphics boards with early generations of programmable GPUs are inherently limited in the image quality that they can provide (at a reasonable performance). For example, GPUs that are based on the NV2X series of NVidia GPUs do show specular highlights that look "​blocky"​. Nothing can be done about that (except getting a more recent 3D board with at least NV3X or ATI Radeon 9600 or higher support).
  
Line 78: Line 51:
 ===== Why is the frame-rate (FPS) low? How can I improve it? ===== ===== Why is the frame-rate (FPS) low? How can I improve it? =====
  
-During the past few years, many people have become used to use 3D engines that employ relatively old rendering technologies on relatively new graphics ​acceleator ​boards. This combination,​ observed in games like Counter-Strike,​ Quake3 and similar, achieved impressive frame-rates (often a hundred FPS and more) and fluid display updates.+During the past few years, many people have become used to use 3D engines that employ relatively old rendering technologies on relatively new graphics ​accelerator ​boards. This combination,​ observed in games like Counter-Strike,​ Quake3 and similar, achieved impressive frame-rates (often a hundred FPS and more) and fluid display updates.
  
-The difference with Ca3DE is that Ca3DE employs dynamic, per-pixel lighting and shadows. The underlying rendering techniques are much more sophisticated than previous rendering methods, and relatively new. Despite a thoroughly optimized implementation,​ these techniques inherently cause lower frame-rates than older the techniques. In fact, if you compare ​Ca3DE to comparable 3D engines that are in the same category (only very few are, like Doom3), ​Ca3DE beats surprisingly well.  ;)+The difference with Cafu is that Cafu employs dynamic, per-pixel lighting and shadows. The underlying rendering techniques are much more sophisticated than previous rendering methods, and relatively new. Despite a thoroughly optimized implementation,​ these techniques inherently cause lower frame-rates than older the techniques. In fact, if you compare ​Cafu to comparable 3D engines that are in the same category (only very few are, like Doom3), ​Cafu beats surprisingly well.  ;)
  
 There are many factors that have an effect on rendering performance. You can tweak some of them in order to manipulate the frame-rate, but the actual change in frame-rate much depends on your computer system and its components. Some of the suggestions below may even have no observable effect on your system at all. This is because every system has a different bottle-neck,​ and only finding and removing the bottle-neck yields the greatest effect. There are many factors that have an effect on rendering performance. You can tweak some of them in order to manipulate the frame-rate, but the actual change in frame-rate much depends on your computer system and its components. Some of the suggestions below may even have no observable effect on your system at all. This is because every system has a different bottle-neck,​ and only finding and removing the bottle-neck yields the greatest effect.
  
 Here is a list of options and suggestions that might help with the performance. You may simply try them out, and see what works best for your system. However, please note that most of these options //will buy you faster rendering at the cost of decreased image quality//. Here is a list of options and suggestions that might help with the performance. You may simply try them out, and see what works best for your system. However, please note that most of these options //will buy you faster rendering at the cost of decreased image quality//.
-  * **Video memory and texture size.** If your graphics board has too little video memory to store all the textures simultaneously that Ca3DE needs for rendering a single frame, the FPS usually suffers significantly. In this case you can set a lower texture quality in the initial Options dialog. \\ This effectively scales all textures down to not exceed a maximum size, and therefore improves the chances that they all fit into video RAM simultaneously. Another option is to add physical memory to your graphics board. 128 MB normally work well, 256 MB are even better and can store the textures even in maximum resolution. +  ​* **Vertical synchronization.** People frequently report that their frame-rate seems to be capped to 60 or 30 (or another multiple of 15) FPS. This is usually because //vertical synchronization//​ is enabled for your graphics board. Please see the Wikipedia article at [[wp>​Vertical_synchronization]] for technical details on the matter. \\ Find the related setting in the control panel of your graphics driver to disable the vertical synchronization. Your graphics driver and board will then render the frames without the delay inherent to vertical synchronization,​ which in turn increases the FPS. 
-  * **Display resolution.** The default display resolution of Ca3DE is 1024*768. That setting has been proven a good compromise between image quality and frame-rate, but you might decrease it within the console in order to increase the frame-rate. Reducing to 800*600 or even to 640*480 helps a lot. +  ​* **Video memory and texture size.** If your graphics board has too little video memory to store all the textures simultaneously that Cafu needs for rendering a single frame, the FPS usually suffers significantly. In this case you can set a lower texture quality in the initial Options dialog. \\ This effectively scales all textures down to not exceed a maximum size, and therefore improves the chances that they all fit into video RAM simultaneously. Another option is to add physical memory to your graphics board. 128 MB normally work well, 256 MB are even better and can store the textures even in maximum resolution. 
-  * **Pixel fill-rate.** ​The most common reason for low FPS is that dynamic lighting and shadows consume a //very high pixel fill-rate//​. Besides reducing the display resolution as mentioned above, ​the most effective way to improve FPS in this case is to turn dynamic lighting and shadow effects entirely off. However, please note that much of the Ca3DE image quality and atmosphere depends on these effects, and turning these effects off //is not recommended!//​ If you want to do that anyway, enter "​r_style 4" into the in-game console, which is activated ​by the ~ key (US keyboard layout) or the ^ key (German keyboard layout). +  * **Display resolution.** The default display resolution of Cafu is 1024*768. That setting has been proven a good compromise between image quality and frame-rate, but you might decrease it within the console in order to increase the frame-rate. Reducing to 800*600 or even to 640*480 helps a lot. 
- +  * **Pixel fill-rate.** ​common reason for low FPS is that dynamic lighting and shadows consume a //very high pixel fill-rate//​. Besides reducing the display resolution as mentioned above, ​an effective way to improve FPS in this case is to turn dynamic lighting and shadow effects entirely off. \\ One way to achieve this is to set the ''​cl_maxLights''​ console variable to ''​0''​. ​ This can be done in the game console ​or by putting ​the statement<​code lua>​cl_maxLights=0;</code> into your ''​config.lua''​ file. \\ When Cafu is run from the command-lineit is also possible ​to specify a renderer DLL that makes use of less graphics features. For example, you might try the OpenGL 1.2 renderer in order to increase ​the FPS:<​code>​C:​\Cafu-9.06> Cafu.exe -clRenderer ​..\Libs\build\win32\vc8\release\MaterialSystem\RendererOpenGL12.dll</​code>​
- +
-===== What is the registration ​code for the forum? ​===== +
- +
-The registration ​code is **8226**. +
- +
-If you wonder why it is so hard to register at the Ca3DE forumsthe answer ​is: //​spammers//​! +
-Both humans and robots register themselves aggressively,​ just in order to place their advertisements,​ improve their Google rankings, etc. +
-Both the registration code and the visual confirmation are unforunately required to make sure that only interested and motivated humans can register themselves to the Ca3DE forumsI'm very sorry about this inconvenience,​ but it is required ​to make the forums a nicer place for everyone.  ​:-+
- +
-You may also read my post at [[http://​www.ca3d-engine.de/​forum/​viewtopic.php?​p=2084#​2084|Information for new forum members]] for more details.+
  
-All that being said, I'd be happy to welcome you at the Ca3DE forums! ​ :-D 
general/faqs_users.1198694120.txt.gz · Last modified: 2013-01-07 12:07 (external edit)