Skip to content

Instantly share code, notes, and snippets.

@mebiusbox
mebiusbox / saveAsHashName.bat
Created March 25, 2017 03:10
Save the dropped files as hash name batch
: Fciv is required. Please download from below and expand to any place, and add the path to fciv.
: https://support.microsoft.com/ja-jp/help/841290/availability-and-description-of-the-file-checksum-integrity-verifier-utility
@echo off
setlocal enabledelayedexpansion
rem set PATH=%PATH%;{fciv path}
for %%f in (%*) do (
set NAME=
for /f "usebackq tokens=1" %%a in (`fciv %%f`) do set NAME=%%a
copy %%f "%~dp0!NAME!%%~xf"
)
@mebiusbox
mebiusbox / copyToClipboardForBoostnote.bat
Created March 25, 2017 06:24
Copy the dropped files as image element of markdown to clipboard for boostnote on windows
@echo off
setlocal enabledelayedexpansion
for %%f in (%*) do (
set fullpath=%%f
set /P<NUL="^![%%~nxf](!fullpath:\=/!)"|clip
)
endlocal
@mebiusbox
mebiusbox / loadFiles.js
Created July 1, 2017 09:34
Simple file loader
function loadFile(url, data, callback, errorCallback) {
// Set up an asynchronous request
var request = new XMLHttpRequest();
request.open('GET', url, true);
// Hook the event that gets called as the request progresses
request.onreadystatechange = function() {
// If the request is "DONE" (completed or failed)
if (request.readyState == 4) {
// If we got HTTP status 200 (OK)
// BRDFs
#define PI 3.14159265359f
#define PI2 6.28318530718f
#define RECIPROCAL_PI 0.31830988618f
#define RECIPROCAL_PI2 0.15915494f
#define LOG2 1.442695f
#define EPSILON 1e-6
#define pow2(x) ((x)*(x))
#define pow3(x) pow2(x)*(x)
@mebiusbox
mebiusbox / NormalizedOrenNayar.brdf
Created September 8, 2017 14:22
Normalized Oren-Nayar for BRDF explorer.
analytic
# variables go here...
# only floats supported right now.
# [type] [name] [min val] [max val] [default val]
::begin parameters
float roughness 0 1 1
float f0 0 1 0.04
bool fresnel 1
@mebiusbox
mebiusbox / GotandaOrenNayar.brdf
Created September 8, 2017 14:24
GGX Oren-Nayar for BRDF Explorer
analytic
# variables go here...
# only floats supported right now.
# [type] [name] [min val] [max val] [default val]
::begin parameters
float roughness 0 1 1
float f0 0 1 0.04
::end parameters
@mebiusbox
mebiusbox / GGXApproxDiffuse.brdf
Created September 8, 2017 14:25
GGX Approximation Diffuse for BRDF Explorer
analytic
# variables go here...
# only floats supported right now.
# [type] [name] [min val] [max val] [default val]
::begin parameters
float albedo 0 1 1
float roughness 0 1 1
::end parameters
@mebiusbox
mebiusbox / plot_tonemap_ue4_gt.py
Created May 11, 2019 03:52
ToneMap UE4+GT Plot
import matplotlib
matplotlib.use('TkAgg')
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import tkinter as tk
import tkinter.messagebox as tkmsg
import numpy as np
# https://github.com/ampas/aces-dev/blob/master/transforms/ctl/README-MATRIX.md
@mebiusbox
mebiusbox / book.py
Last active December 31, 2019 14:22
Get book information by ISBN10 or ISBN13 with google books API
import sys
import urllib.request
import urllib.parse
import json
import objectpath
import pyperclip
import re
# API Endpoint
API_URL = "https://www.googleapis.com/books/v1/"
@mebiusbox
mebiusbox / winodw.rs
Last active January 7, 2021 07:27
Use minifb to display the generated image of type image::RgbImage in a window
// image = "*"
// minifb = "0.19.1"
use crate::{
IMAGE_HEIGHT, IMAGE_WIDTH,
};
use minifb::{Key, Window, WindowOptions};
use image::{RgbImage};
pub fn draw_in_window(mut pixels: RgbImage) -> std::io::Result<()>
{