Skip to content

Instantly share code, notes, and snippets.

View thu0x31's full-sized avatar
🦕
Yee

T_H_U thu0x31

🦕
Yee
View GitHub Profile
@danngreen
danngreen / Makefile-compilecommands.mk
Created November 24, 2020 20:45
Makefile command to generate compile_commands.json with entries for c++ headers
# Addresses an issue where language servers won't know what to do with header files
# since compile_commands.json typically only includes .cc/.cpp/.c files.
#
# Include this file from your main Makefile, or just paste the snippet in.
# To use:
# make compile_commands
# Requires bear and compdb
# bear [osx]: brew install bear
# compdb [see https://github.com/Sarcasm/compdb]: pip install compdb
@michaeltrainor
michaeltrainor / setting.json
Created November 6, 2020 09:51
VSCode Houdini Python Settings
{
"python.autoComplete.extraPaths": [
"C:/PROGRA~1/SIDEEF~1/HOUDIN~1.351/houdini/python2.7libs"
],
"python.languageServer": "Pylance",
"terminal.integrated.env.windows": {
"PYTHONPATH" : "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.351/python27/houdini/python2.7libs",
"PATH" : "${env:PATH};C:/PROGRA~1/SIDEEF~1/HOUDIN~1.351/python27/bin"
},
"python.analysis.extraPaths": [
@Dan-Piker
Dan-Piker / Moebius3d
Last active February 15, 2025 06:56
Moebius transformations in 3d
//Moebius transformations in 3d, by reverse stereographic projection to the 3-sphere,
//rotation in 4d space, and projection back.
//by Daniel Piker 09/08/20
//Feel free to use, adapt and reshare. I'd appreciate a mention if you post something using this.
//You can also now find this transformation as a component in Grasshopper/Rhino
//I first wrote about these transformations here:
//https://spacesymmetrystructure.wordpress.com/2008/12/11/4-dimensional-rotations/
//If you want to transform about a given circle. Points on the circle and its axis stay on those curves.
//You can skip these 2 lines if you want to always use the origin centred unit circle.
@ousttrue
ousttrue / CMakeLists.txt
Created June 3, 2019 13:39
emscripten glfw3 or webgl sample
CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0)
PROJECT(em_gl VERSION 0.1.0)
LINK_DIRECTORIES(
$ENV{VCPKG_ROOT}/installed/x64-windows/lib
)
FILE(GLOB SRC
*.cpp
*.h
@sgnm
sgnm / glsl2gif_mp4.sh
Last active November 16, 2023 13:27
convert fragment shader to gif and mp4 file
#!/bin/sh
GIF_DIR="gif"
VIDEO_DIR="video"
convert_glsl2gif_mp4()
{
if [ ! -e ${OUTPUT_DIR}/${GIF_DIR}/${FILE_NAME}.gif ]; then
echo "exporting gif file to '${OUTPUT_DIR}/${GIF_DIR}/${FILE_NAME}.gif'"
glsl2gif $INPUT_FILE_DIR.frag -o ${OUTPUT_DIR}/${GIF_DIR}/${FILE_NAME}.gif -s 512x512 -r 30 -l 5
@WesThorburn
WesThorburn / 1.Instructions.md
Last active January 18, 2025 16:18
Linux: Compile C++ to WebAssembly and JavaScript using Emscripten and CMake

Linux: Compile C++ to WebAssembly and JavaScript using Emscripten and CMake

Download and Install Emscripten

  • My preferred installation location is /home/user
  • Get the latest sdk: git clone https://github.com/emscripten-core/emsdk.git
  • Enter the cloned directory: cd emsdk
  • Checkout main: git checkout main
  • Install the lastest sdk tools: ./emsdk install latest
  • Activate the latest sdk tools: ./emsdk activate latest
  • Activate path variables: source ./emsdk_env.sh
@florianbehrens
florianbehrens / main.cpp
Created September 20, 2018 13:00
Compile time (constexpr) sine table generator
#include <array>
#include <cmath>
/**
* @brief Compile-time sine table creation function.
*
* @tparam SZ Table size.
* @param fs Sample frequency.
* @param f Sine frequency.
*
@companje
companje / map.glsl
Created January 23, 2018 22:46
map() function for GLSL known from Processing & openFrameworks
float map(float value, float min1, float max1, float min2, float max2) {
return min2 + (value - min1) * (max2 - min2) / (max1 - min1);
}
@mignonstyle
mignonstyle / markdown-cheatsheet.md
Last active April 24, 2025 05:05
Markdown記法 チートシート

Block Elements ## Headers 見出し 先頭に#をレベルの数だけ記述します。 ```

見出し1

見出し2

見出し3

見出し4

見出し5
見出し6
## 見出し2
### 見出し3
#### 見出し4
##### 見出し5
###### 見出し6 ## Block 段落 空白行を挟むことで段落となります。 ```
段落1
(空行)
段落2
``` 段落1 段落2 ## Br 改行 改行の前に半角スペース` `を2つ記述します。 ```
hoge
fuga(スペース2つ)
piyo
``` hoge
fuga piyo ## Blockquotes 引用 先頭に`&gt;`を記述します。ネストは`&gt;`を多重に記述します。 ```
&gt; 引用 &gt; 引用
&gt;&gt; 多重引用
``` &gt; 引用 &gt; 引用
&gt;&gt; 多重引用 ## Code コード `` `バッククオート` `` 3つ、あるいはダッシュ`~`3つで囲みます。 ```
print 'hoge'
``` ```
print 'hoge'
``` ### インラインコード `` `バッククオート` `` で単語を囲むとインラインコードになります。 ```
これは `インラインコード`です。
``` これは `インラインコード`です。 ## pre 整形済みテキスト 半角スペース4個もしくはタブで、コードブロックをpre表示できます ``` class Hoge def hoge print 'hoge' end end
``` class Hoge def hoge print 'hoge' end end ## Hr 水平線 アンダースコア`_` 、アスタリスク`*`、ハイフン`-`などを3つ以上連続して記述します。 ```
hoge
***
hoge
___
hoge
---
``` hoge
***
hoge
___
hoge
--- # Lists ## Ul 箇条書きリスト ハイフン`-`、プラス`+`、アスタリスク`*`のいずれかを先頭に記
@patriciogonzalezvivo
patriciogonzalezvivo / GLSL-Noise.md
Last active May 28, 2025 03:49
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);