Torque3D Documentation

repository·development·Indexed 24 days ago

https://github.com/torquegameengines/torque3d

An open-source 3D game engine for high-performance game development. Documentation includes guides for WinFlexBison integration in Visual Studio, Bison skeleton and backend references, X3D XML conversion for VRML/X3DV files, and Android native build configurations using android-cmake.

Tokens
188.5K
Snippets
472
Records
1K
Agent score
85%

What's inside Torque3D

  1. Overview of Minitaur simulated environments

    development

    This directory contains pybullet-based simulated Minitaur environments. The core environments used in the RSS paper "Sim-to-Real: Learning Agile Locomotion For Quadruped Robots" are:

    • Galloping environment: minitaur_reactive_env.py
    • Trotting environment: minitaur_trotting_env.py

    Other environments in this folder are considered experimental.

  2. Overview of HIDAPI

    development

    HIDAPI is a multi-platform library for interfacing with USB and Bluetooth HID-Class devices. It supports Windows, Linux, FreeBSD, and Mac OS X.

    Supported Back-ends

    • Windows: Uses hid.dll.
    • Linux/hidraw: Uses the kernel's hidraw driver. Supports both USB and Bluetooth, but has limitations on older kernels (pre-2.6.39) regarding feature reports. It only communicates with devices having hidraw nodes (e.g., keyboards and mice may be blacklisted).
    • Linux/libusb: Uses libusb-1.0. Communicates directly with USB devices but does not support Bluetooth.
    • FreeBSD: Uses libusb-1.0.
    • Mac OS X: Uses IOHidManager.
  3. Overview of WinFlexBison

    development

    WinFlexBison is a Windows port of Flex (the fast lexical analyser) and GNU Bison (parser generator). It provides win_flex and win_bison executables that are based on upstream sources but are designed to depend only on system libraries, making them suitable for Windows environments.

    Version Information:

    • 2.4.x versions: Include GNU Bison version 2.7.
    • 2.5.x versions: Include GNU Bison version 3.x.x.
  4. Overview of DotZLib .NET wrapper capabilities

    development

    DotZLib is a .NET wrapper class library for ZLib1.dll. It provides several key functionalities for handling compressed data:

    • Memory Buffers: Support for inflating and deflating memory buffers.
    • Streaming: .NET streaming wrappers for the gz streams part of zlib.
    • Checksums: Wrappers for the checksum components of zlib.

    For implementation examples, refer to the DotZLib/UnitTests.cs file within the repository.

  5. Overview of Open Asset Import Library (assimp)

    development

    Assimp (Open Asset Import Library) is a library designed to load various 3D file formats into a shared, in-memory format. It supports importing over 40 file formats and provides a growing selection of export formats.

    Key features include:

    • Multi-language support: APIs are provided for C and C++, with various bindings for C#, Java, Python, Delphi, and D.
    • Mesh Post-processing: Includes tools for normals and tangent space generation, triangulation, vertex cache locality optimization, removal of degenerate primitives and duplicate vertices, sorting by primitive type, and merging redundant materials.
    • Platform support: Runs on Android and iOS.
  6. Overview of Opcode Collision Detection

    development

    Opcode (OPtimized COllision DEtection) is a C++ collision detection package designed for high performance and low memory footprint. It is suitable for games with limited RAM (like consoles) and supports various collision scenarios including mesh-mesh detection, N-body collisions, camera-vs-world, and view frustum culling.

    Key Features:

    • Mesh Support: Works with arbitrary meshes (convex or non-convex) and polygon soups.
    • Query Types: Supports stabbing, planes, and volume queries (Sphere, AABB, OBB, LSS), as well as sweep-and-prune.
    • Collision Modes: Offers "first contact" and "all contacts" modes. "First contact" mode utilizes temporal coherence, which can be 10 to 20 times faster, making it ideal for rigid body simulation.
    • Optimizations: Uses AABB-trees, hybrid trees, and quantized trees (decompressed on-the-fly). It introduces Primitive-BV overlap tests during recursive queries to improve efficiency.
  7. Overview of Simple DirectMedia Layer (SDL)

    development

    Simple DirectMedia Layer (SDL) is a cross-platform development library that provides low-level access to hardware components, including:

    • Audio
    • Keyboard
    • Mouse
    • Joystick
    • Graphics hardware (via OpenGL and Direct3D)

    SDL is written in C and works natively with C++. It also provides bindings for other languages such as C# and Python. It is officially supported on Windows, macOS, Linux, iOS, and Android.

  8. Overview of the Googletest Mocking (gMock) Framework

    development

    gMock is a C++ framework used for creating mock classes to facilitate better system design and testing. It provides a declarative syntax for defining mocks and allows for the creation of partial (hybrid) mocks—objects that combine real and mock implementations.

    Key features include:

    • Declarative Mock Definition: Define mock behavior using a specialized syntax.
    • Partial Mocks: Mix real object logic with mocked behavior.
    • Argument Validation: Uses a rich set of matchers to validate function arguments.
    • Behavior Control: Intuitive syntax for specifying how mocks should respond to calls.
    • Automatic Verification: Expectations are verified automatically without requiring a manual record-and-replay cycle.
    • Ordering Constraints: Supports expressing arbitrary (partial) ordering constraints on function calls.
    • Extensibility: Users can define custom matchers and actions.
    • No Exceptions: The framework is designed to operate without using C++ exceptions.

    gMock is part of the GoogleTest C++ testing framework and shares its requirements.

  9. Overview of the ZLib Delphi Interface Unit

    development

    This directory provides an updated Delphi interface unit for the ZLib library. It is an adaptation of the original Borland supplemental component, updated to be compatible with zlib version 1.2.1 and prepared for 64-bit environments.

    Key features of this version include:

    • 64-bit Readiness: Field types in TZStreamRec have been updated from Integer to Longint to match the zlib.h header.
    • C Compatibility: Allocation and deallocation functions (TAlloc, TFree, zlibAllocMem, and zlibFreeMem) use the cdecl calling convention. It also includes _malloc and _free as C RTL stubs, allowing original C zlib sources to be compiled and linked directly to the ZLib unit.
  10. Overview of the {fmt} library

    development

    The {fmt} library is a high-performance C++ formatting library designed to provide a modern alternative to printf, iostreams, and Boost Format. It combines the speed and concise syntax of printf with the type safety and support for user-defined types found in iostreams.

    Key advantages include:

    • Performance: Significantly faster than Boost Format and iostreams.
    • Safety: Type-safe formatting that avoids common printf pitfalls.
    • Features: Supports positional arguments (useful for i18n), which are missing in standard iostreams and printf (on some platforms).
    • Low Overhead: Designed to minimize compile times and code bloat compared to heavy libraries like Boost Format.
  11. Overview of the zip C library

    development
    The zip library is a portable, lightweight, and simple C library for handling ZIP archives. It is designed to be easily integrated into projects by adding just a few source files without requiring heavy dependencies or complex build systems. It is built by layering functions on top of the miniz v3.0.2 API and supports OSX, Linux, Windows, Android, and iOS. It provides capabilities for creating, appending to, extracting, and deleting entries within ZIP archives, both from files and in-memory streams.