2016 Confetti Talk by Wolfgang Engel(PDF)
2016 Confetti Talk by Wolfgang Engel(Video)
OpenSource Latest Implementation by Confetti, Multiple Platforms
2013 work by Christopher A. Burns and Warren A. Hunt at Intel Labs.
// How to build: | |
// # compile the metal shaders | |
// xcrun -sdk macosx metal -c shaders.metal -o shaders.air | |
// xcrun -sdk macosx metallib shaders.air -o shaders.metallib | |
// # compile the c file | |
// clang app_metal.c -framework Cocoa -framework Metal -o metal_c.app | |
// | |
// | |
// Draw a triangle using metal | |
// Metal tutorial followed here: https://www.raywenderlich.com/7475-metal-tutorial-getting-started |
#what we need: | |
#.include "macros.inc" | |
#.section .text # 0x80005940 - 0x803B7240 | |
import sys, os, errno, re | |
import xlrd | |
# -============================================- # |
struct DeferredDirect3DDevice9: DummyDirect3DDevice9 | |
{ | |
private: | |
char* begin; | |
char* write; | |
char* read; | |
char* end; | |
enum command_t | |
{ |
/** | |
* More complete example code accompanying Write Your Own Dependency Injection Container. | |
* This is the most straight forward implementation of the DI container. While there is | |
* slightly more boilerplate there are also more customization and documentation points. | |
* | |
* Author Nicolas Croad 2019 | |
*/ | |
#define CATCH_CONFIG_MAIN | |
#include <catch.hpp> |
// Effect applies normalmapped lighting to a 2D sprite. | |
float3 LightDirection; | |
float3 LightColor = 1.0; | |
float3 AmbientColor = 0.35; | |
sampler TextureSampler : register(s0); | |
sampler NormalSampler : register(s1) | |
{ | |
Texture = (NormalTexture); |
HRESULT CreateInputLayoutDescFromVertexShaderSignature( ID3DBlob* pShaderBlob, ID3D11Device* pD3DDevice, ID3D11InputLayout** pInputLayout ) | |
{ | |
// Reflect shader info | |
ID3D11ShaderReflection* pVertexShaderReflection = NULL; | |
if ( FAILED( D3DReflect( pShaderBlob->GetBufferPointer(), pShaderBlob->GetBufferSize(), IID_ID3D11ShaderReflection, (void**) &pVertexShaderReflection ) ) ) | |
{ | |
return S_FALSE; | |
} | |
// Get shader info |