Antigone Engine. Introduction Antigone = “Counter Generation” Library of functions for simplifying 3D application development Written in C for speed (compatible.

Slides:



Advertisements
Similar presentations
Chapter 11 Introduction to Programming in C
Advertisements

Välkommen till Sommarkollo Introduce XNA Game Studio Express Make A Game!
Introduction Games have always been a fundamental part of human life. Space storm “ عاصفة الفضاء” is a 3D SCI-FI game that consists of two stages presented.
Normal Map Compression with ATI 3Dc™ Jonathan Zarge ATI Research Inc.
what is VA? advantages tools a b c what is VA? advantages tools fully integrated architectural plug-in for Rhino 4 powerful feature-based editor to create.
WSCG 2007 Hardware Independent Clipmapping A. Seoane, J. Taibo, L. Hernández, R. López, A. Jaspe VideaLAB – University of A Coruña (Spain)
Intro to Java Monkey Engine Download JME loads/ loads/
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
Geometry Systems Inc. 3D Graphic Solutions Balancing art with engineering
Further Programming for 3D applications CE Introduction to Further Programming for 3D application Bob Hobbs Faculty of Computing, Engineering and.
Mobile Application Development
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
Game Engines Non-game specific technology Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (AI, Scripting, etc.)
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
COOL Chips IV A High Performance 3D Graphics Rasterizer with Effective Memory Structure Woo-Chan Park, Kil-Whan Lee*, Seung-Gi Lee, Moon-Hee Choi, Won-Jong.
Week 1 - Friday.  What did we talk about last time?  C#  SharpDX.
Games Development 2 Entity / Architecture Review CO3301 Week
2012 National BDPA Technology Conference Creating Rich Data Visualizations using the Google API Yolanda M. Davis Senior Software Engineer AdvancED August.
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
Antigone Engine Kevin Kassing – Period
Character Animation Blending Abstract BSP Content Importing Digital Content Pipeline Extending Microsoft’s XNA Framework with BSP Content and Animation.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
DEVSView: A DEVS Visualization Tool Wilson Venhola.
NHibernate in Action Web Seminar at UMLChina By Pierre Henri Kuaté 2008/08/27
Android for Java Developers Denver Java Users Group Jan 11, Mike
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
Versus JEDEC STAPL Comparison Toolkit Frank Toth February 20, 2000.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
_______________________________________________________________CMAQ Libraries and Utilities ___________________________________________________Community.
2008/9/24 Kim, HyungSeok. HyungSeok Kim, Konkuk University Part I: Framework – 1. Windows creation – 2. Renderer – 3. Lights and Objects/Model loading.
The Volcano Optimizer Generator Extensibility and Efficient Search.
Smart Lab - RBV Network 1 Radial Basis Voronoi Network: An Internet Enabled Vision System for Remote Object Classification RAYMOND K. CHAFIN, CIHAN H.
A Few Things about Graphics Jian Huang Computer Science University of Tennessee.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
INTRODUCTION GORT is a virtual 3D modeling environment for computer programmers. Its main area of focus is to aid in the education of programmers learning.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
By Jeff Dean & Sanjay Ghemawat Google Inc. OSDI 2004 Presented by : Mohit Deopujari.
Games Development 1 Review / Revision CO2301 Games Development 1 Semester 2.
VLF Rendering & Implementation Details Virtual Light Field Group University College London GR/R13685/01 Research funded by: Jesper.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Auran Jet Engine Keng Shih-Ling
1 Saarland University, Germany 2 DFKI Saarbrücken, Germany.
Getting ready. Why C? Design Features – Efficiency (C programs tend to be compact and to run quickly.) – Portability (C programs written on one system.
Module 05 –Bump mapping Module 05 – Bump mapping Module 05 Advanced mapping techniques: Bump mapping.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
ECE 750 Topic 8 Meta-programming languages, systems, and applications Automatic Program Specialization for J ava – U. P. Schultz, J. L. Lawall, C. Consel.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Computer Graphics (Fall 2003) COMS 4160, Lecture 5: OpenGL 1 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
Game Engines Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (Rules, AI, Scripting, etc.)
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Khang Lam Daniel Limas Kevin Castillo Juan Battini
The architecture of the P416 compiler
- Introduction - Graphics Pipeline
Week 2 - Monday CS361.
Antigone Engine.
Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1st edition CS 4455.
Ogre Overview Lecture 3.
Workshop in Nihzny Novgorod State University Activity Report
Object-Orientated Programming
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Introduction to Computer Graphics with WebGL
Chapter 11 Introduction to Programming in C
Chapter VI OpenGL ES and Shader
Game Engines Non-game specific technology Game: Engine
Computer Graphics Practical Lesson 10
OpenGL-Rendering Pipeline
Games Development 2 Entity / Architecture Review
Presentation transcript:

Antigone Engine

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

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

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

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)

Debugging Tools Assert – ASSERT(a==b, “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 i=0;i<100;i++) { x=x*sqrt(y); } endSample();

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

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

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.)