GithubHelp home page GithubHelp logo

tantien's Introduction

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 [email protected]: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

tantien's People

Contributors

xzrunner avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.