Antigone Engine - PowerPoint PPT Presentation

About This Presentation
Title:

Antigone Engine

Description:

Written in C for speed (compatible with C , can make bindings for ... Types for vector, plane, quaternion, matrix (3x3,4x4) Some numerical analysis methods ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 10
Provided by: kevink92
Learn more at: https://www.tjhsst.edu
Category:

less

Transcript and Presenter's Notes

Title: Antigone Engine


1
Antigone Engine
2
Introduction
  • Antigone Counter Generation
  • Library of functions for simplifying 3D
    application development
  • Written in C for speed (compatible with C, can
    make bindings for other languages)
  • Wrappers for commonly used OpenGL functions
  • Data structures for semantic objects

3
Implemented Features
  • Load, animate, and render MD2
  • Load textures from a variety of formats
  • Efficient camera management
  • Frontend management (GLUT, SDL)
  • Input API
  • Debugging tools

4
Planned Features
  • Separation of rendering functions from data
  • Loading geometry in BSP formats
  • Efficient collision detection
  • Progressive level of detail meshing
  • Better animation control
  • Multitexturing, environment mapping, bump mapping
  • More support for model formats

5
Internal Structure
  • Engine is abstracted from some routines
  • Two static libraries
  • libmala (multivariable and linear algebra)
  • Types for vector, plane, quaternion, matrix
    (3x3,4x4)
  • Some numerical analysis methods
  • libhemi (half edge mesh interface)
  • Loads MD2 format mesh (more in future)
  • Will have mesh operations for half edge meshes
  • Will have more mesh types (for optimizations)

6
Debugging Tools
  • Assert ASSERT(ab, A not equal to B!)
  • Logging wrapper for fprintf
  • Profiling measure speed of predefined blocks of
    code (print min, max, average ticks)

startSample(Loop A) for (int
i0ilt100i) xxsqrt(y) endSample()
7
Design Considerations
  • Speed, Speed, Speed!
  • mesh rendering optimizations (triangle strips)
  • data structures (balance with memory constraints)
  • Backwards Compatibility
  • once API reaches some point, updates may
    deprecate but not remove interfaces
  • Modularity
  • should be able to easily add new systems (which
    operate efficiently), for example, sound and
    network

8
Problems
  • Feature creep, especially with formats
  • Need to generalize data structures as much as
    possible
  • Compatibility
  • Defining multiple frontends and input systems
  • OpenGL extensions / Hardware capabilities
  • Support for those who don't have library X
  • Lack of documentation on formats

9
Research Goals
  • Experiment with data structures
  • Linking meshes with texture objects
  • Flexible texture objects for multitexturing,
    mapping techniques
  • Collision models (BVHs, AABBs, OBBs)
  • How to store animations
  • Localized collision maps
  • Experiment with intermediately or simultaneously
    rendering to a mesh (for collision, etc.)
Write a Comment
User Comments (0)
About PowerShow.com