ERA-3D is a 3D fantasy console inspired by 5th generation video game consoles such as the Nintendo 64 and Sony Playstation.
Warning
ERA-3D is still in early development, expect unfinished UI and missing features!
Display: 640x360
Memory: 8MiB general purpose RAM, memory-mapped assets (textures, audio, models)
Textures: 64KiB texture cache, 128x128 (RGBA32) and 256x256 (8 bit indexed) modes
Rendering: Maximum of ~16k triangles per frame*, OpenGL 1.1 fixed-function style graphics API
Effects:
- Programmable 4-cycle Color Combiner
- Color blending
- Depth, scissor, & stencil testing
- 3-point texture filtering
- Per-vertex lighting
- Depth-based fog
- Framebuffer rendering (Render to texture)
Audio: 8 tracks, 11.025khz IMA ADPCM stereo audio sample playback, audio synthesis**
Scripting: Custom langauge similar to C
* Triangle rendering limit is not yet implemented and is subject to change
** Audio subsystem is not yet implemented and subject to change
enum {
// RGBA32 color constants
BLACK = 0x000000FF,
RED = 0xFF0000FF,
GREEN = 0x00FF00FF,
BLUE = 0x0000FFFF
};
void draw() {
// set clear color
clearColor1i(BLACK);
// clear color, depth, and stencil buffers
clear(BUFFER_ALL);
// configure Color Combiner (CC) to ignore textures and only use vertex colors
ccPreset(CC_PRESET_SHADE);
pushMatrix();
// begin constructing a mesh using triangles
begin(TRIANGLES);
// vertex 1
color1i(RED);
vertex3f(0.0, 1.0, 0.0);
// vertex 2
color1i(GREEN);
vertex3f(-1.0, -1.0, 0.0);
// vertex 3
color1i(BLUE);
vertex3f(1.0, -1.0, 0.0);
// end the mesh
end();
popMatrix();
}Check out the ERA-3D Docs!
For building instructions, see the Building page of the documentation.
- SDL3
raymath.hfrom raylibjson.neluafrom nelua-batteries- tiny file dialogs
- stb_image.h
- cgltf
ERA-3D is licensed under the zlib license.
See the LICENSE file for the full license text.
