Skip to content

Instantly share code, notes, and snippets.

View JSandusky's full-sized avatar

Jonathan Sandusky JSandusky

  • Ohio, United States
View GitHub Profile
@JSandusky
JSandusky / DEGFX.lua
Created January 22, 2019 07:42
DiligentEngine Premake
--[[
Usage:
// setup the paths and build options
DEGFX_InitPaths(...)
DEGFX_InitRenderers(...)
// add the projects to build
DEGFX_IncludeProjects()
@JSandusky
JSandusky / Toon.hlsl
Created February 6, 2019 01:51
HLSL Toon Shader
//==========================================================
// Toon Shader
//==========================================================
// Features:
// - artist supplied *tone* ramp
// - Control map to force shadow/highlight
// - model-space vertical 1px shade control (hat shadows, etc)
// - MSDF *linework* map
// - rimlight glow
// - geometry-shader outlines
@JSandusky
JSandusky / MaterialGraph.xml
Created February 6, 2019 11:28
Material graph node definition XML
<graph name="Material" candebug="false" color="orange">
<!--
<in /> = designates an input socket
<out /> = designates an output socket
<metadata></metadata> = can be attached to sockets or nodes themselves
List of Metadata: [NAME], [valid targets] = [purpose/effect]
@JSandusky
JSandusky / AnimProc.cpp
Created February 20, 2019 01:42
Keyframe extraction
#include "AnimProc.h"
#include "../Graphics/Animation.h"
#include "../IO/Log.h"
namespace Urho3D
{
/// Pulls out an interpolated keyframe from a track based on time.
/// The time value of the key will be set to the given time value, overwrite if undesired.
@JSandusky
JSandusky / MotionWheel.cpp
Created February 22, 2019 00:45
Motion Wheel ... WTFPL
MotionWheel::MotionWheel(Context* ctx) : Component(ctx),
traveledDistance_(0.0f),
lastPosition_(Vector3(M_INFINITY, M_INFINITY, M_INFINITY))
{
SubscribeToEvent(E_SCENEPOSTUPDATE, URHO3D_HANDLER(MotionWheel, OnUpdate));
}
MotionWheel::~MotionWheel()
{
@JSandusky
JSandusky / dead.cs
Created March 23, 2019 01:48
Ubernoise
[Description("Uses noise derivatives to produce an extremely versatile noise")]
[PropertyData.PropertyIgnore("Interpolation")]
public partial class UberNoise : NoiseGenerator
{
float lacunarity_ = 2.0f;
int octaves_ = 3;
float gain_ = 0.5f;
float perturbFeatures_ = 0.2f;
float sharpness_ = 0.7f;
float amplify_ = 0.7f;
@JSandusky
JSandusky / StructArray.cs
Created May 26, 2019 01:48
Crude swap+pop container
// Swap to pop array of structs
public class StructArray<T> where T : struct
{
public T[] items_;
public int Count { get; private set; }
public int Capacity { get; private set; }
public StructArray(int capacity)
{
Resize(capacity);
#include "ImmediateRender.h"
#include "../Core/Context.h"
#include "../Graphics/VertexBuffer.h"
#include "../Graphics/Camera.h"
#include "../Graphics/Graphics.h"
#include "../Scene/Node.h"
#include "../Input/Input.h"
#include "../Graphics/View.h"
#include "../Graphics/Viewport.h"
@JSandusky
JSandusky / DecalMesh.cs
Created December 8, 2019 18:18
MonoGame Decal Mesh
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace DelveLib
{
public class DecalMesh : IDisposable
{
@JSandusky
JSandusky / VEZRenderScript.cpp
Created February 6, 2020 01:57
VEZ Renderer
#include "RenderScript.h"
#include "Buffer.h"
#include "Material.h"
#include "GraphicsDevice.h"
#include "Effect.h"
#include "LightShadow.h"
#include "Packing.h"
#include "Renderables.h"
#include "Renderer.h"