Quake3 source code overall impression and its open-source engine project

Source: Internet
Author: User

Quake3 source code overall impression and its open-source engine project

Address: http://blog.csdn.net/zlstone/article/details/4651271

In general, the overall architecture of the quake engine is very beautiful and is a good learning material.

In addition, from quake1 to quake3, the overall logic-side code does not change much,
The real breakthrough is the rendering engine.

In the course of learning the quake engine, I often admire carmark's imagination. API functions are so concise, the overall framework is so perfect, and object-oriented C is so beautiful.

With the quake engine, you can learn various concepts of game design and various modules. It is very important to combine external tools perfectly.

Quake1 and its extended engine darkplaces Based on the quake1 framework
Quake2 and its quake2-based
Framework extension engine qfusion
Quake3 and its quake3-based
Framework extension engine xreal/evq3

These extension engines are well-known open-source projects with a large amount of materials, and all of them use these extension engines to create a game that allows you to view the real-time effects of the game.

For example

The game-nexuiz Based on the darkplaces engine has an amazing rendering effect !!!

Qfusion-based
Engine game ----- warsow
Game ----- revolution based on xreal/evq3 Engine

A: darkplaces uses the framework structure of quake1 and overwrites all rendering modules, network protocols, and transmission modules. It supports doom3 light and shade effects. According to my feeling, it should be an open-source project with the best rendering effect, using a considerable number of special effects (doom3 light effects = stencel
Shadow volume, per pixel lighting, normalizationcubemap, 2D + 1d attenuation texturing, and Light Projection filtering ). this engine can use the famous quakec to develop the server-side game logic (equivalent to the game in quake3. DLL module ).
Function. This engine extends a considerable number of server-side quakec functions. what's more beautiful is that he has extended the client logic functions at the same time, through which he can write the client game logic (equivalent to the cgame in quake3. DLL module, but not completely equivalent ). in fact, I really like the encoding method of quakec, Which is concise and powerful.

B: The biggest FEATURE OF THE qfusion engine is its clear logic structure. Its expanded bone animation system is its biggest feature. I feel extremely beautiful. (Of course, everyone has different opinions. This is just my opinion ). he uses the SKM skeleton animation file format. it is through the skeleton animation system of this engine that I can fully master the essence of the entire skeleton animation. This is really a huge benefit !!! In addition, the entire game logic end is very clear, and this engine is mainly used as the basis of the original code During code analysis.


C: The overall framework of xreal/evq3 does not change much with quake3, but the most important thing is that my favorite Renderer structure is the render of quake3. DLL is perfect. The Renderer of quake3 can use dual-processor. In order to support the operation of Dual-processor, quake3 implements a rendering command line and its perfection, the benefits are not too low !!!! Let's say something very important again, the great and generous card mark. the xreal/evq3 transform perfectly retains the quake3 Renderer Framework Structure and extends many functions. The light and shade effects are powerful enough. added the MD5 skeleton model rendering.


Http://ioquake3.org

Http://www.openarena.ws


Http://xreal-project.net/

Http://www.moddb.com/engines/qfusion

Http://icculus.org/twilight/darkplaces/

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.