Skip to content

Byvm815/tantien

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tantien

Data-driven game engine.

Features

Visual programming

Nodes for everything: shader, render pipeline, material, vfx, gui, ai, geometric edit, postprocessing, physical modeling, image processing, trigger event, scene modeling...

Declarative programming

Constraint-based, rule-based and functional programming.

Procedural generation

Procedural content generation.

Editors

blueprint

Based for each editors

Features

  • custom node
  • subgraph
  • ...

Nodes

  • math : Boolean, Integer, Number, Number2, Number3, Number4, Matrix, Add, Subtract, Multiply, Divide, Radians, Sin, Cos, Clamp, Reciprocal, Negate, Abs, Length, Rect, Floor, Ceil,
  • logic : AND, OR, NOT,
  • camera : Camera2d, Camera3d, OrbitCamera, Lookat, Orthographic, Perspective,
  • transform : Scale, Rotate, Translate,
  • constant : Time, Viewport,
  • data : Array, Combine, Fetch, Merge, Split, ListClear, ListAdd, ListAddF, ListRemove, ListShift, ListPopBack, ListBack, IsEmpty,
  • control : flow Block, Loop, LoopF, ForEach, Branch, BranchF, SwitchF, Compare, Finish, Group,
  • tools : Commentary, Custom, Print, Proxy, Expand, Store, Load, Variable, Swap, Assignment, Debug, IsNull, Cache, ClearCache,
  • subgraph : Input, Output, Property, Subgraph,

rendergraph

Terrain

Cel Shading

Sample from Jorge Jimenez's separable-sss SSSS

Sample from learnopengl SSAO

Features

  • auto gen shader uniforms
  • operable nodes

* ...

Nodes

  • vertex : Model, Gltf, PrimitiveShape, VertexArray,
  • resource : Shader, Texture, Cubemap, RenderTarget, RenderBuffer,
  • operate : Clear, Compute, Draw,
  • control : Pass,
  • tools : ShaderCode,

terraingraph

Noise and erosion

Brush

Noise brush

Features

  • multiple brushes

Nodes

  • generator : Gradient, Worley,
  • combiner : Combiner,
  • filter : Gaussian, Incline, ScaleBias, Step, Transform,
  • natural : Erosion, ThermalWeathering,
  • selector : SelectHeight, SelectSlope,
  • edit : Brush,

shadergraph

Features

  • use spir-v AST instead of combine shader strings

Nodes

  • input-geometry : Normal, TexCoord, WorldPos,
  • utility-shader : FragColor, Uniform,
  • math : Cross, Dot, Normalize, Max, Min, Mix, Reflect, RotateX, RotateY, RotateZ, Pow, Sqrt,
  • control : Kill, Return,
  • tools : Parameter, SampleTexture, TBN, ShaderGen,

sdfgraph

Sample from Jamie Wong's tutorial Ray Marching and Signed Distance Functions

Nodes

  • primitive : Sphere, Box, RoundBox, BoxFrame, Torus, CappedTorus, Link, InfiniteCylinder, Cone, InfiniteCone, Plane, HexagonalPrism, TriangularPrism, Capsule, VerticalCapsule, VertCappedCylinder, CappedCylinder, RoundedCylinder, VertCappedCone, CappedCone, SolidAngle, VertRoundCone, RoundCone, Ellipsoid, Rhombus, Octahedron, Pyramid, Triangle, Quad,
  • operation-alterations : Elongate, Rounding, Onion,
  • operation-combinations : Union, Subtraction, Intersection, SmoothUnion, SmoothSubtraction, SmoothIntersection,
  • operation-positioning : Translate, Scale, Rotate, Symmetry, InfiniteRepetition, FiniteRepetition,
  • operation-deformations and distortions : Displace, Twist, Bend,

noisegraph

Nodes

  • noise : PerlinNoise, BillowedNoise, RidgedNoise,
  • turbulence : Turbulence, IqTurbulence, SwissTurbulence, JordanTurbulence, Erosion1Turbulence, Erosion2Turbulence, DistortTurbulence,
  • deriv : PerlinNoisePseudoDeriv, PerlinNoiseDeriv, NoiseDeriv,
  • tools : Dither,

pbrgraph

IBL

Sheen

Clearcoat

Transmission

Nodes

  • Specular BRDF distribution : D_GGX, D_GGX_Anisotropic, D_Charlie,
  • Specular BRDF visibility : V_Kelemen, V_Neubelt, V_Sheen, V_Smith, V_SmithGGXCorrelated, V_SmithGGXCorrelated_Anisotropic,
  • Specular BRDF fresnel : F_Schlick,
  • Specular BRDF : Fr_CookTorrance,
  • Diffuse BRDF : Fd_Burley, Fd_Lambert, Fd_Wrap,
  • Tools : EnergyConservation, Shadergraph, SrgbToLinear, GammaCorrection, IorToRoughness, MirrorLight, IorToF0,

pixelgraph

Nodes

  • artistic-adjustment : ChannelMixer, Contrast, Hue, InvertColors, ReplaceColor, Saturation, WhiteBalance,
  • uv : Flipbook, PolarCoordinates, RadialShear, Rotate, Spherize, TilingAndOffset, Twirl,
  • procedural-shapes : Checkerboard, Ellipse, Polygon, Rectangle, RoundedPolygon, RoundedRectangle,

aigraph

Nodes

  • behavior tree : Sequence, Selector, Parallel, Condition, Repeat,
  • tools : BehaviorTree,

editorgraph

Nodes

  • event : MouseLeftDown, MouseLeftUp, MouseRightDown, MouseRightUp, MouseLeftDrag, MouseMove, KeyPressed, KeyReleased, BlueprintChanged, LeaveRuntimeMode, EnterRuntimeMode,
  • tools : Trigger, CoordTrans, IsKeyPressed, Ticker, Dirty,

geograph

Primitive shapes

Parametric mesh generation

Nodes

  • shapes : Line, Rect, Circle, Polyline, Polygon,
  • constraints : Distance,
  • operations : CopyAndTranslate,
  • actions : Translate,
  • test : IsContain, IsIntersect,
  • tools : DrawGeometry, ConstraintSolver, AABB, Resample,

physicsgraph

Nodes

  • objects : World, Body, Fixture, BodyInfo, Chain,
  • joints : RevoluteJoint, PrismaticJoint, DistanceJoint, MouseJoint, WheelJoint,
  • force : ApplyForce, ApplyTorque, ApplyLinearImpulse, ApplyAngularImpulse,
  • setter : SetLinearVelocity, SetTransform, SetMotorSpeed,
  • operate : Simulation, UpdateWorld, RemoveBody,
  • events : BeginContact, EndContact, PreSolve, PostSolve,
  • tools : BodySelector,

ppgraph

Nodes

  • SweetFX : Ascii, Border, CAS, CRT, Cartoon, ChromaticAberration, Cineon, ColorMatrix, Curves, FakeHDR, FilmGrain, LUT, Levels, LiftGammaGain, LumaSharpen, Monochrome, Nostalgia, Splitscreen, Technicolor, Technicolor2, Tint, Tonemap, Vibrance, Vignette,
  • prod80 : ColorGamut, ColorSpaceCurves, CurvedLevels, ShadowsMidtonesHighlights, BlackAndWhite, ColorBalance, ColorIsolation, ColorTemperature, SaturationLimiter, SelectiveColor, SelectiveColor2, Technicolor3, LumaSharpen2,
  • components : GaussianHori, GaussianVert,

scenegraph

Nodes

  • dataset : Sprite, Combine,
  • operations : Transform,
  • tools : DrawSprite,

Building

First clone the project & submodules:

git clone git@github.com:TanTien-Engine/tantien.git
cd tantien
git submodule update --init --recursive

Windows

open platform/windows/tantien.sln copy dlls (from platform/windows/lib)

Run: editor.exe rendergraph

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 90.3%
  • GLSL 4.4%
  • HLSL 3.2%
  • C 2.1%