Skip to content

Latest commit

 

History

History
52 lines (40 loc) · 1.24 KB

README.md

File metadata and controls

52 lines (40 loc) · 1.24 KB

Vessel

Warning

This project in early development

Simple 3D Engine made with Vala
Compatible with Gtk.GLArea

Screenshot showing a example GTK application with Vessel.Viewport in Gtk.GLArea.

Usage

Basic

  1. Create Vessel.Viewport in GL context
var viewport = new Vessel.Viewport();
  1. Add nodes to Vessel.Node for example Vessel.Mesh3D
renderer.current_scene.add_child(new Mesh3D() { mesh = new BoxMesh(1) });
  1. Call render method from Vessel.Viewport in GL context
renderer.render();
  1. Call resize method from Vessel.Viewport on each resize event from your GL context owner
renderer.resize(width, height);

Example

Example of Gtk.GLArea as GL context owner are located in example folder

Building

Gnome Builder

  1. Clone
  2. Open in Gnome Builder
  3. Click Run Project (Shift+Ctrl+Space)

Manually

$ meson setup --prefix=/usr build
$ ninja -C build install

Contributing

  1. Fork it ( https://github.com/SpikedPaladin/Vessel/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request