Skip to content

Instantly share code, notes, and snippets.

View FacoBackup's full-sized avatar
🎯
Focusing

Gustavo Roque FacoBackup

🎯
Focusing
View GitHub Profile
<!--
Go to Line 153 for the start of Uniform Buffer Object related code and intro
Prerequsite:
You at least know what uniforms are in the context of WebGL
and mininally understand the concepts involved in creating a square in WebGL
-->
<html>
@DiegoQueiroz
DiegoQueiroz / query_activedirectory.py
Last active May 8, 2025 06:21
Python-LDAP Query Active Directory Example (with paged results to prevent ldap.SIZELIMIT_EXCEEDED exception)
# -*- coding: utf-8 -*-
# requires python-ldap (usually pip install python-ldap)
# But this package requires OpenLDAP libraries, so it is a pain to install it on Windows.
# So, if you're on Windows, I recomment to use pre-compiled binaries with this command (virtualenv supported):
# pip install https://download.lfd.uci.edu/pythonlibs/h2ufg7oq/python_ldap-3.1.0-cp37-cp37m-win_amd64.whl
import ldap
from ldap.controls import SimplePagedResultsControl
@heiswayi
heiswayi / EULA.md
Last active June 10, 2025 14:45
Generic desktop app EULA sample

END-USER LICENSE AGREEMENT

This End-User License Agreement (EULA) is a legal agreement between you (either as an individual or on behalf of an entity) and [[AUTHOR]] regarding your use of [[APPNAME]]'s desktop applications, and associated documentation (the "Software"). IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS EULA, DO NOT INSTALL, USE OR COPY THE SOFTWARE.

Summary

  • You must agree to all of the terms of this EULA to use this Software.
  • If so, you may use the Software for free and for any lawful purpose.
  • This Software automatically communicates with its server for three reasons: (1) to receive and install updates; (2) to send error reports; and (3) to send anonymized usage information. You can view sample data to see what information is sent, and you may opt out of sending the anonymized usage data.
  • This Software is provided "as-is" with no warranties, and you agree that [[AUTHOR]] is not liable for anything you do with it.
float D_GGX_Anisotropic(float at, float ab, float ToH, float BoH, float NoH) {
// Burley 2012, "Physically-Based Shading at Disney"
float a2 = at * ab;
vec3 d = vec3(ab * ToH, at * BoH, a2 * NoH);
return saturateMediump(a2 * sq(a2 / dot(d, d)) * (1.0 / PI));
}
float V_SmithGGXCorrelated_Anisotropic(float at, float ab, float ToV, float BoV,
float ToL, float BoL, float NoV, float NoL) {
// Heitz 2014, "Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs"
@Aerilius
Aerilius / transformation_matrix_utils.rb
Last active July 4, 2022 08:50
Decomposing a transformation matrix into translation, scaling and Euler angles (using Trimble SketchUp Ruby API)
# Decompose a 4×4 augmented rotation matrix without shear into translation, scaling and rotation components.
#
# @param m [Array(16)] matrix
# @return [Array(3),Array(3),Array(3)] three arrays representing
# the translation vector,
# the scaling factor per axis and
# the Euler rotation angles in radians
def separate_translation_scaling_rotation(m)
m = m.clone
# Extract translation
@dolanor
dolanor / volumetric-clouds.glsl
Created September 30, 2016 11:09
Volumetric clouds GLSL webGL
// Created by inigo quilez - iq/2013
// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
// Volumetric clouds. It performs level of detail (LOD) for faster rendering
float noise( in vec3 x )
{
vec3 p = floor(x);
vec3 f = fract(x);
f = f*f*(3.0-2.0*f);
@galek
galek / pbr.glsl
Created November 4, 2015 11:10
PBR GLSL SHADER
in vec2 v_texcoord; // texture coords
in vec3 v_normal; // normal
in vec3 v_binormal; // binormal (for TBN basis calc)
in vec3 v_pos; // pixel view space position
out vec4 color;
layout(std140) uniform Transforms
{
mat4x4 world_matrix; // object's world position
@patriciogonzalezvivo
patriciogonzalezvivo / GLSL-Noise.md
Last active October 24, 2025 15:58
GLSL Noise Algorithms

Please consider using http://lygia.xyz instead of copy/pasting this functions. It expand suport for voronoi, voronoise, fbm, noise, worley, noise, derivatives and much more, through simple file dependencies. Take a look to https://github.com/patriciogonzalezvivo/lygia/tree/main/generative

Generic 1,2,3 Noise

float rand(float n){return fract(sin(n) * 43758.5453123);}

float noise(float p){
	float fl = floor(p);
  float fc = fract(p);
@rugor
rugor / gist:5422841
Last active May 24, 2024 23:38
JavaScript: jQuery desaturate an image using HTML5 canvas and fade in on window load #rugor #st
$(window).load(function(){
$('.image-class').each(function(){
this.src = grayscale(this.src);
});
$('.image-class').fadeIn(500);
});
function grayscale(src){
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');