Code Monkey home page Code Monkey logo

epic's Introduction

Epic

This is simply a hobbyist project for game engine components. None of the code within this project is necessarily portable, correct, functional, or at all recommended for use by others. You have been warned!

More details will follow at a later time.

epic's People

Contributors

epicbrownie avatar

epic's Issues

BucketizerAllocator

Similar to a LinearSegregatorAllocator, but the threshold values are auto-set and only one allocator type is used.

Auto List

Utility class that automatically adds instances of a type to a static list on construction.

Compilation Time

Compilation time is becoming an issue for projects that are using some of these components.

Tracking allocator

A memory allocator that is able to track various statistics. Some functionality could be shared or dependent on profiler code, so this allocator will be designed at a later time.

Specs & Features

  • Specs Query (Memory, Disk Space, etc...)
  • Features Query (CPU features, GPU features, etc...)

Events

Event (Delegate) encapsulation.

Allocator Thread-Safety

Either develop thread-safe allocators or insert an optional mechanism into existing allocators.

Angles

Degree class
Radian class

EON

Epic Object Notation (EON) is a file format very similar to JSON.
Design and implement a system to serialize data to/from EON.

HeapAllocator

Preallocates and manage a limited pool.
Placement policy (Linear, Buddy, etc...)

Algorithms

Some various algorithms:

  • Vector/Matrix/Quaternion codec
  • Slerp, Lerp, NLerp, etc...
  • Streamed ops
  • Accelerate when possible (SIMD)

Math Core

  • Constants
  • Simple Conversions
  • Simple Calculations

STL Allocators

Adapt allocators into STL allocator-compatible classes.

Matrix

Matrix class

  • At least 2x2, 3x3, and 4x4
  • Build from Vector to support same component types

Vector

Vector class.

  • 2-4 Components
  • Support for primitive component types (float, double, unsigned/signed int, unsigned/signed long)
  • Swizzle access

Finalize Memory system

  • (Final) code cleanup of all Memory components
  • Extensive testing of all Memory components

Window

Win32 Window encapsulation.

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.