Giter Site home page Giter Site logo

Xtreme3D v3

Xtreme3D is a cross-language 3D graphics engine based on GLScene. It has a rich feature set, including custom shaders, wide variety of asset formats support, built-in effects, physics, collision and ray casting.

Xtreme3D originally was created for Game Maker. It makes possible to create full-featured 3D games with modern graphics and reasonable framerate in a tool that was intended mainly for 2D games and provides limited built-in 3D capabilities. Original Xtreme3D was a closed-source project, and it was abandoned by the author. Xtreme3D 2.0.2.0 (2006) was the last official release. So we in Russian Xtreme3D community made an attempt to rewrite the engine, maintaining the API as close to original as possible. This work began in 2009 and was completed in 2016. This project is not connected in any way with the original Xtreme3D developer, all code was written from scratch.

The engine is written in Delphi and based on a modified version of GLScene 1.0.0.0714. The code should be compiled with Delphi 7 (other Delphi versions are not tested).

Unfortunately, Xtreme3D SDK is not compatible with Game Maker Studio 2 version 2022.800.0.161 and higher because Xtreme3D.dll is currently 32-bit only.

You can use Xtreme3D with almost any programming language. We already provide Python, D and LuaJIT bindings which are automatically generated from engine's source code.

Visit Xtreme3D site at https://xtreme3d.ru.

Screenshots

Screenshot3 Screenshot1 Screenshot4 Screenshot4 Screenshot4 Screenshot4

Features

  • Extremely lightweight. It's just a DLL of 2 MB in size (plus three optional DLLs - ode.dll, freetype.dll, OpenFBX.dll)
  • Can be used with any language that supports DLLs and stdcall convension
  • Scene graph with object hierarchy/pivoting
  • Built-in primitives (such as box, sphere, cylinder, teapot, etc.)
  • Materials and textures. Materials can be loaded from script files
  • GLSL shaders
  • Built-in easy to use shaders, including cel shader, bump/parallax shader, phong shader, multimaterial shader, etc.
  • Multitexturing. Materials can have up to 8 texture slots accessible from shaders. Fixed-pipeline multipass multitexturing is also supported
  • Popular image formats support for textures (BMP, JPG, PNG, TGA, DDS)
  • Various 3D model formats support (3DS, OBJ, LWO, B3D, MD2, MD3, MD5, SMD, FBX and many other)
  • Procedural mesh construction from vertex/normal/texcoord/index lists - you are free to design your own model format
  • Model animation, per-vertex and skeletal
  • Lightmapping and dynamic lighting
  • Terrain with automatic LOD and real-time editing
  • Dynamic water rendering
  • Dynamic soft shadows
  • Static and dynamic cubemaps
  • Particle system for fire-like and lighting-like effects
  • Lensflare effect
  • 2D shapes, including rectangle, circle, line, and custom 2D mesh
  • 2D sprites and text with TTF and Unicode support
  • 3D text and billboards
  • Skyboxes
  • Procedural skydome with sun, stars and animated day/night cycle
  • Procedural trees
  • Lines and curves rendering (Cubic, Bezier, NURBS)
  • Curves can be used to control object movement
  • Discrete LOD system
  • Offscreen rendering via p-buffers or FBOs
  • Collision detection between bounding spheres, oriented bounding boxes and meshes
  • Raycasting
  • Built-in game-oriented collision systems (DCE, FPSManager)
  • Integrated rigid body physics using ODE engine
  • Kraft physics engine integration
  • Ragdolls
  • Octree and quadtree to speed-up rendering and collision tests
  • Loading resources from GLScene PAK archives
  • Keyboard and mouse input
  • Window creation and management
  • ...plus a lot more!

Documentation

Xtreme3D is fully documented in Russian, the help file is here. Machine-translated English version is also available (thanks to Bill Collins for making it).

Asset Creation

For static geometry with lightmaps (such as levels), we recommend using B3D (Blitz3D) format. You can use B3D exporter for Blender to create models in this format - find it in tools/blender-b3d-exporter.

For animated geometry, we recommend either SMD (Half-Life) or MD5 (Doom 3) formats. You can use MD5 exporter for Blender to create models in this format - find it in tools/blender-md5-exporter.

License

Xtreme3D 3.x and corresponding GLScene fork are both distributed under Mozilla Public License 1.1. This license allows you to create commercial closed-source applications with the engine.

ODE is distributed under BSD-style license.

FreeType is distributed under FreeType License (FTL).

OpenFBX is distributed under MIT license.

Xtreme3D's Projects

gmdmech icon gmdmech

dmech physics engine wrapper for Game Maker / Xtreme3D

gmsquall icon gmsquall

Squall sound engine wrapper for Game Maker

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.