Skip to content

Latest commit

 

History

History
88 lines (87 loc) · 2.19 KB

design.md

File metadata and controls

88 lines (87 loc) · 2.19 KB

design.md

  • VLib: a header-only library for the VM/76 project
    • VEndian
    • VExplosion: end your program gracefully
    • VMath
    • VVector
    • VRingBuffer
    • VByteStream: file/string abstraction layer
      • VByteStream_File
      • VByteStream_String
    • VBinaryFileReader
    • VBinaryFileWriter
  • ASM76: the assembly — scripting and virtual machine
    • spec.md
      • first usable draft
      • stable release 1.0
    • VM implementation
      • ASM76 bytecode translator architecture
      • Instruction sets
        • 76-Basic
        • 76-Float
        • 76-Vectors
        • API calls to Game Engine
    • assembler
      • basic translation
      • address tag
    • disassembler
      • basic implementation
  • (UNDEFINED NAME): a high-level programming language that compiles to ASM76
    • spec.md
      • design philosophy
      • first usable draft
      • stable release 1.0
    • the compiler
  • VMDE: draw engine
    • init_engine
    • update
    • engine state related
      • get_frame_count
      • get_fps
    • Shaders
      • Load & Compile shaders
      • Use & Call shaders
      • variables binding functions
    • GDrawable
      • Create drawable object
      • Instanced rendering
      • Draw Call
      • Buffer Objects management
    • Res::Texture: texture resources
      • load texture
      • Texture to shader binding
    • Res::AudioCache: (pre)loads an audio file
      • load function
    • Audio: audio support
      • Channel: a logical representation of one audio source
        • Channel_Mute: outputs no sound
        • Channel_Noise: outputs white noise
        • Channel_Triangle
        • Channel_Sine
        • Channel_Vorbis
      • stop
      • play_channel
      • play_music
      • play_sound
  • VMGS: game system
    • main
    • Control & View
      • Demo View
      • FPS View (Free explore)
      • God View
      • Physics binded view
    • Game Objects
      • Cube (Tiled cube)
      • Model
      • Terrian
        • Map loader & save
        • Map vertices & data baker
      • Light source
      • Entity
      • object helper class
    • Physics
    • Effects
    • Game
      • config.hpp
      • Game Logic