astomih / sinen

A Toolkit for creative coding

Home Page:https://astomih.github.io/sinen/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sinen Engine

Sinen Logo

Summary

Sinen is a toolkit for creative coding.

CI

Feature

  • Intuitive writing in the Lua programming language
  • Sinen is Written in C++
  • Using Vulkan API
  • Lightweight

Documents

Documents
https://astomih.github.io/sinen

Hello world in Sinen as a library

local hello_texture = {}
local hello_font = {}
local hello_drawer = {}

-- Create a texture
hello_texture = texture()
-- Create a draw2D
hello_drawer = draw2d(hello_texture)
-- Create a font
hello_font = font()
-- Load a font from file(96px)
hello_font:load("mplus/mplus-1p-medium.ttf", 96)
-- Render text to texture
hello_font:render_text(hello_texture, "Hello Sinen World!",
    color(1, 1, 1, 1))
-- Set scale to texture size
hello_drawer.scale = hello_texture:size()

function update()
    -- Draw
    hello_drawer:draw()
end

Hello World

Lisence

MIT Lisence

Dependencies

Sinen Core

  • Dear ImGui
  • Lua
  • Sol2
  • mojoAL
  • rapidjson
  • SDL2(image,mixer,ttf)
  • Vulkan 1.1
  • VulkanMemoryAllocator

Sinen Editor

  • ImGuiColorTextEdit
  • ImGuizmo
  • imgui-filebrowser
  • imgui_markdown
  • Sinen Core

How to build

Requirements

  • CMake 3.7 or later
  • Ninja
  • C++20 compiler
  • Vulkan SDK

Build commands

git clone https://github.com/astomih/sinen.git
cd sinen
git submodule update --init --recursive
cmake -B build -DEXTERNAL_ALL_BUILD=ON -DCMAKE_BUILD_TYPE=Release
cd build && ninja

Editor

Editor is a tool for creating and editing Scene files. Editor Sample

Viewer

Viewer is a tool for viewing Scene files.

About

A Toolkit for creative coding

https://astomih.github.io/sinen/

License:MIT License


Languages

Language:C++ 78.2%Language:C 20.8%Language:Lua 0.7%Language:GLSL 0.2%Language:CMake 0.1%Language:Batchfile 0.0%