Skip to content

Releases: alexlitty/randar

v1.0.0

18 Aug 21:19
Compare
Choose a tag to compare
v1.0.0 Pre-release
Pre-release

This pre-release marks a moderate state of stability and maturity.

Features

The combined engine, adapter, and wrapper primarily feature:

System

  • Multiple OpenGL 4.5 contexts in a single program
  • Basic window creation and destruction
  • Simple filesystem manipulation and path specification
  • Reading and writing binary file streams

Math

  • Random int and float generation
  • Angle objects with radian and degree interfaces
  • Two- and Three-dimensional vectors with arithmetic, cross, dot, and normalizing methods
  • Quaternions
  • Matrix calculations provided by glm
  • Transform objects with translations, rotations, and scale

Color

  • Colors with float (0.0f - 1.0f) and integer (0 - 255) interfaces
  • Palettes for fine-controlled random color generation

Images

  • Image objects with configurable & exposable raw data
  • Reading framebuffers & windows as images
  • Reading textures as images
  • PNG importing and exporting

Framebuffers

  • Default framebuffers for window drawing
  • Framebuffers attachable to RGBA and Depth textures, render buffers

Cameras

  • Position, direction, and range
  • Default to "pass-through" behavior mode
  • Orthographic mode with configurable viewport
  • Projection mode with configurable field of view and aspect ratio

Geometry

  • Vertices with positions, colors, normals, texture data, and joint data
  • Intelligently appending vertex data into separated index and unique-vertex buffers
  • Merging geometries
  • Wide variety of geometry generation methods
  • Drawn to framebuffers with specified transformation, texture, shaders, lights, and skeleton

Models

  • Container for geometry, transformation, texture, shader program, and skeleton
  • Drawn to framebuffers, with or without world lighting

Skeletons

  • Joint-based skeletons
  • Joints are named and indexed by insertion time
  • Parent and child joint relationships

Lights

  • Only simple spotlights available (really more of a directional light)
  • Position, direction, and range
  • Cast shadows
  • Generates user-accessible lightmaps
  • Given to World objects. Affects all available geometries

Shaders

  • Default shaders provided and automatically used
  • Custom shaders easily creatable, programs easily compilable
  • Program uniforms safely and semi-automatically set
  • Provided with unlimited geometry textures, unlimited lights, and 4 joint weights per vertex

Scenes

  • Simple action-based scene timelines
  • Only translation actions supported at this time
  • Frame states generated on-the-fly

Projects

  • Exportable and importable projects
  • Project items contain underlying engine objects (geometry, model, textures, etc)
  • Folders for categorizing items

Recording

  • Frame-by-frame image recording to PNG
  • Frame image stitching to MP4

User Interface

  • Prototype of an animation interface
  • Will be moved to a separate repository