Skip to content

Instantly share code, notes, and snippets.

View takumifukasawa's full-sized avatar

takumifukasawa takumifukasawa

View GitHub Profile
@takumifukasawa
takumifukasawa / loadObj.js
Created December 19, 2021 11:01
load obj
// obj の情報はここに書いてある
// https://ja.wikipedia.org/wiki/Wavefront_.obj%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB
export default async function loadObj(path) {
const response = await fetch(path);
const text = await response.text();
const lines = text.split('\n');
// webgl用のデータ群
const positions = [];
@takumifukasawa
takumifukasawa / FunctionWorker.js
Created December 11, 2021 15:29
【Javascript】Inline Worker
/**
* usage
*
* const worker = new FunctionWorker(() => {
* self.onmessage = (e) => {
* postMessage(e);
* }
* });
*
*/
@takumifukasawa
takumifukasawa / python-server.command
Last active August 18, 2021 13:55
Start Python Simple Server works on Python2 and Python3(for MacOS)
#!/bin/sh
set -e
PYTHON_MAJOR_VERSION=`python -c 'import sys; print(sys.version_info.major)'`
ABSPATH=$(cd "$(dirname "$0")"; pwd -P)
if [ "$PYTHON_MAJOR_VERSION" = "3" ]; then
cd $ABSPATH
python -m http.server 8000
@takumifukasawa
takumifukasawa / CustomLitShader.cs
Last active May 7, 2025 20:55
Examples of Custom URP Lit Shader and Custom Shader GUI Script: Unity2019.4.21f, URP7.8.3
using System;
using UnityEngine;
using UnityEditor;
using UnityEditor.Rendering.Universal.ShaderGUI;
class CustomLitShader : BaseShaderGUI
{
// Properties
private LitGUI.LitProperties litProperties;
@takumifukasawa
takumifukasawa / minify-images.js
Created March 5, 2021 09:17
node: minify [jpg, png] images
// ------------------------------------------------------------------------------
//
// ディレクトリ以下の画像、もしくは単一ファイルを一括圧縮するバッチスクリプト
//
// usage:
// $ node minify-images.js [src_path]
//
// ------------------------------------------------------------------------------
const fs = require("fs");
@takumifukasawa
takumifukasawa / ticker.ts
Created November 4, 2020 14:07
typescript: singleton of ticker.
type Func = (time: number, deltaTime?: number) => void;
/**
* rafを管理するクラス。実質、singletonとして使う
*
* @class Ticker
*/
class Ticker {
private funcs: Func[];
@takumifukasawa
takumifukasawa / reflow.ts
Created November 4, 2020 14:06
typescript: reflow dom
/**
* 強制的にdomのreflowを発火させる
*
* @export
* @param {HTMLElement} dom
*/
export function reflow(dom: HTMLElement) {
// eslint-disable-next-line no-void
void dom.offsetWidth;
}
@takumifukasawa
takumifukasawa / easingFunctions.ts
Created November 4, 2020 14:05
easing function modules
/* eslint-disable no-plusplus */
// ref:
// https://gist.github.com/gre/1650294#gistcomment-3141432
// no easing, no acceleration
export const linear = (t: number) => {
return t;
};
// accelerating from zero velocity
export const easeInQuad = (t: number) => {
@takumifukasawa
takumifukasawa / howlerAudioActions.ts
Last active November 4, 2020 14:05
howler: manage audio for play, load, cache...
import { Howl, HowlOptions } from "howler";
import { map } from "lodash";
const caches = new Map<string | string[], Howl>();
/**
* howlオブジェクトを生成してキャッシュする。。キャッシュの中にあったらキャッシュを返す
*
* @param {HowlOptions} options
* @returns {(Howl | null)}
@takumifukasawa
takumifukasawa / resizeImage.ts
Created November 4, 2020 14:01
typescript: resize image
/**
* 画像をリサイズする関数
*
* @export
* @param {string} imageSrc
* @param {(number | null)} [resizeWidth]
* @param {(number | null)} [resizeHeight]
* @returns {Promise<string>}
*/
export default function resizeImage(