Skip to content

Instantly share code, notes, and snippets.

Avatar
😇
なの

がむ gam0022

😇
なの
View GitHub Profile
View README.md
@gam0022
gam0022 / README.md
Last active December 11, 2021 07:36
[TDF2021] Lightning Tunnel
View README.md

Lightning Tunnel

25分でライブコーディングしたシェーダーです。

This shader was coded in 25 minutes.

Shader showdown quarter-final at #TokyoDemoFest

#GLSL #Bonzomatic #Shader #LiveCoding

@gam0022
gam0022 / zozuar-cloud.glsl
Last active October 24, 2021 07:07
@zozuar さんのシェーダーが凄すぎたのでコードリーディング
View zozuar-cloud.glsl
// @zozuar さんのシェーダーが凄すぎたのでコードリーディング
// https://twitter.com/zozuar/status/1441384708441456651
float i, // レイマーチングのループカウンター
e, // ボリュームの密度(値が小さいほど密度が濃くなる)
s, // fbmのループカウンター
g, // レイの進んだ距離(カメラのパースのためにも利用)
k = .01;// 0.01の定数
// レイマーチングのループ
@gam0022
gam0022 / tanjiro.glsl
Last active December 21, 2020 06:22
#つぶやきGLSL で #tan治郎 の解説
View tanjiro.glsl
// #つぶやきGLSL で #tan治郎 の解説
// https://twitter.com/gam0022/status/1339584625929175042
// #つぶやきGLSLとは?
// 1ツイートに収まる文字数の制限でGLSLのシェーダーを書く遊びです。
// ハッシュタグを考慮すると 270 文字前後のようです。
// @h_doxas さん開発の https://twigl.app/ を使うと、文字数カウントやGIF出力の機能があるため便利です。
// FCは gl_FragCoord の短縮形です。ピクセル単位の座標が入っています。
// r は resolution の短縮形です。ピクセル単位のキャンバスの解像度が入っています。
@gam0022
gam0022 / memo.md
Last active November 3, 2018 06:35
uRaymarching
View memo.md
struct GBufferOut
{
    half4 diffuse  : SV_Target0; // rgb: diffuse,  a: occlusion
    half4 specular : SV_Target1; // rgb: specular, a: smoothness
    half4 normal   : SV_Target2; // rgb: normal,   a: unused
    half4 emission : SV_Target3; // rgb: emission, a: unused
#ifndef DO_NOT_OUTPUT_DEPTH
 float depth : SV_Depth;
@gam0022
gam0022 / vscode-glslfan.md
Last active May 29, 2019 12:46
shadertoy用のVSCode用の拡張をglslfanやglslsandbox用に改造したので導入手順
View vscode-glslfan.md
@gam0022
gam0022 / fragmentShader.glsl
Created December 7, 2016 18:06
three.js r82の組み込みuniform/attribute
View fragmentShader.glsl
precision highp float;
precision highp int;
#define SHADER_NAME ShaderMaterial
#define GAMMA_FACTOR 2
#define NUM_CLIPPING_PLANES 0
#define UNION_CLIPPING_PLANES 0
uniform mat4 viewMatrix;
uniform vec3 cameraPosition;
#define TONE_MAPPING
#define saturate(a) clamp( a, 0.0, 1.0 )
@gam0022
gam0022 / file0.txt
Last active October 31, 2016 01:02
サポートの終了した Ubuntu 10.04 から 12.04 にアップデートする ref: http://qiita.com/gam0022/items/978b7a4900af660e1142
View file0.txt
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install update-manager-core
sudo do-release-upgrade
@gam0022
gam0022 / fragmentShader.glsl
Created October 15, 2016 15:01
THREE.ShaderMaterialで自動挿入されるuniform/attribute(three.js r81)
View fragmentShader.glsl
precision highp float;
precision highp int;
#define SHADER_NAME ShaderMaterial
#define GAMMA_FACTOR 2
#define NUM_CLIPPING_PLANES 0
uniform mat4 viewMatrix;
uniform vec3 cameraPosition;
#define TONE_MAPPING
#define saturate(a) clamp( a, 0.0, 1.0 )
uniform float toneMappingExposure;
@gam0022
gam0022 / dFdyによる法線の計算
Last active November 23, 2017 10:07
レイマーチングの法線をdFdxとdFdyで導出する ref: https://qiita.com/gam0022/items/1878150981494fd66abe
View dFdyによる法線の計算
vec3 getNormal(vec3 p) {
vec3 dx = dFdx(p);
vec3 dy = dFdy(p);
return normalize(cross(dx, dy));
}