Skip to content

Instantly share code, notes, and snippets.

View guidoschmidt's full-sized avatar
🦩
🦎

Guido Schmidt guidoschmidt

🦩
🦎
View GitHub Profile
@guidoschmidt
guidoschmidt / Matrix.hlsl
Created November 25, 2020 22:10 — forked from mattatz/Matrix.hlsl
Matrix operations for HLSL
#ifndef __MATRIX_INCLUDED__
#define __MATRIX_INCLUDED__
#define IDENTITY_MATRIX float4x4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
float4x4 inverse(float4x4 m) {
float n11 = m[0][0], n12 = m[1][0], n13 = m[2][0], n14 = m[3][0];
float n21 = m[0][1], n22 = m[1][1], n23 = m[2][1], n24 = m[3][1];
float n31 = m[0][2], n32 = m[1][2], n33 = m[2][2], n34 = m[3][2];
float n41 = m[0][3], n42 = m[1][3], n43 = m[2][3], n44 = m[3][3];
@guidoschmidt
guidoschmidt / gltf_export_nodes.py
Created November 25, 2020 14:36
GLTF Blende export nodes
import bpy
# User variables
UV_MAP_NAME = "BAKETOOL_Job 1"
IMAGE_NAME = "Default_albedo.jpg"
# Gloabls
gltf_settings_node = bpy.data.node_groups['glTF Settings']
y = 2000
@guidoschmidt
guidoschmidt / GitCommitAndSave.cs
Last active October 12, 2020 18:16
Unity create Preset + git autocommit
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Diagnostics;
using NaughtyAttributes;
using UnityEngine;
using UnityEditor;
using UnityEditor.Presets;
@guidoschmidt
guidoschmidt / gstreamer.md
Created May 20, 2020 14:22 — forked from nebgnahz/gstreamer.md
Collections of GStreamer usages

Most GStreamer examples found online are either for Linux or for gstreamer 0.10.

This particular release note seems to have covered important changes, such as:

  • ffmpegcolorspace => videoconvert
  • ffmpeg => libav

Applying -v will print out useful information. And most importantly the negotiation results.

@guidoschmidt
guidoschmidt / UniversalPipelineTemplateShader.shader
Created May 15, 2020 08:13 — forked from phi-lira/UniversalPipelineTemplateShader.shader
Template shader to use as guide to create Universal Pipeline ready shaders. This shader works with Universal Render Pipeline 7.1.x and above.
// When creating shaders for Universal Render Pipeline you can you the ShaderGraph which is super AWESOME!
// However, if you want to author shaders in shading language you can use this teamplate as a base.
// Please note, this shader does not necessarily match perfomance of the built-in URP Lit shader.
// This shader works with URP 7.1.x and above
Shader "Universal Render Pipeline/Custom/Physically Based Example"
{
Properties
{
// Specular vs Metallic workflow
[HideInInspector] _WorkflowMode("WorkflowMode", Float) = 1.0
@guidoschmidt
guidoschmidt / rotationmatrix.glsl
Created March 23, 2020 11:03
GLSL: Rotation Matrix
mat4 rotationMatrix(vec3 axis, float angle)
{
axis = normalize(axis);
float s = sin(angle);
float c = cos(angle);
float oc = 1.0 - c;
return mat4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0,
oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0,
oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0,
0.0, 0.0, 0.0, 1.0);
@guidoschmidt
guidoschmidt / install.sh
Last active August 17, 2019 21:07 — forked from Danw33/install.sh
macOS Homebrew Install FFMPEG --with all options
2019
brew install nasm pkg-config texi2html aom fontconfig freetype frei0r gnutls lame libass libbluray libsoxr libvorbis libvpx opencore-amr openjpeg opus rtmpdump rubberband sdl2 snappy speex tesseract theora x264 x265 xvid xz
brew install ffmpeg
@guidoschmidt
guidoschmidt / LICENSE
Created August 5, 2019 08:13 — forked from JohannesMP/LICENSE
[Unity3D] A Reliable, user-friendly way to reference SceneAssets by script.
/*******************************************************************************
* Don't Be a Jerk: The Open Source Software License.
* Adapted from: https://github.com/evantahler/Dont-be-a-Jerk
*******************************************************************************
* _I_ am the software author - JohannesMP on Github.
* _You_ are the user of this software. You might be a _we_, and that's OK!
*
* This is free, open source software. I will never charge you to use,
* license, or obtain this software. Doing so would make me a jerk.
*
@guidoschmidt
guidoschmidt / billboard_hbao.frag
Created June 11, 2019 22:50 — forked from bassemhermina/billboard_hbao.frag
WebGL GLSL HBAO (Horizon-Based Ambient Occlusion) fragment shader. HBAO is a higher quality approach for computing SSAO (Screen-Space Ambient Occlusion) developed by Nvidia in 2008. Converts the g-buffer to an occlusion buffer which estimates local ambient occlusion at each fragment in screen-space. Specifically, the technique views the depth bu…
// number of directions to sample in UV space
#define NUM_SAMPLE_DIRECTIONS {{ numSampleDirections }}
// number of sample steps when raymarching along a direction
#define NUM_SAMPLE_STEPS {{ numSampleSteps }}
#define APPLY_ATTENUATION {{ attenuation }}
#define USE_ACTUAL_NORMALS {{ useActualNormals }}
@guidoschmidt
guidoschmidt / mysql-docker.sh
Created June 7, 2019 08:31 — forked from spalladino/mysql-docker.sh
Backup and restore a mysql database from a running Docker mysql container
# Backup
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql
# Restore
cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE