最近覚えたTouchDesignerのちょっとしたメモです。 自分用のメモなのであまり参考にはならないと思います。
TouchDesignerでGLSLを使う為の基礎の基礎知識です。
最近覚えたTouchDesignerのちょっとしたメモです。 自分用のメモなのであまり参考にはならないと思います。
3Dオブジェクトの頂点座標をデータとして取得する際は、「SOP to CHOP」を利用しました。 だだし、取得できるのはX,Y,Zの座標データのみでした。 ちなみにここでは、「Sphere SOP」を利用してます。
TouchDesignerで3Dオブジェクトから頂点座標を抜き出す 3Dオブジェクトから頂点座標を抜き出して、データとして利用する方法のメモです。 ①SOPから、好きな3Dオブジェクトを配置。 ②オペレーターの右下にある「 + 」ボタンを押す。 ③右クリックでコンテキス…
GPGPU用のヘルパーライブラリであるGPUComputationRenderer.jsの使い方を調べてみました。 GPGPUが難しいので上手く説明できておらず、よくわからない文章になってしまっています。 あまり参考にならないかもしれません。 こちらの「Three.jsのGPGPUのサンプ…
あくまで自分用ですが、使いそうだけど、すぐ忘れてしまいそうな基本的なデータの制御です。 一定の時間でカウントアップする 特定の処理をループしたい場合など、一定時間でカウントアップした値を作成したい場合はLFO CHOPを利用します。 正の整数だけ利用…
こちらを目指して、グネグネしたメタボール(呼び方がメタボールであってるのかわかりません)を作ってみたいと思い挑戦してみました。 結果としては、実現することが出来ませんでした。。。 実際に作成できたのはこちらです。 難しい。 JS global.THREE = r…
メタボールをやってみたいので、 まずは、フラグメントシェーダーで、複数の円をグルグル回転させてみたいと思います。 #ifdef GL_ES precision highp float; #endif uniform float time; uniform vec2 resolution; #define XSpeed 1.50 #define YSpeed 1.50…
THREE.DataTexture THREE.DataTextureを利用することで、配列データからテクスチャを作ることができます。 GPGPUなどでテクスチャをデータの格納場所として使う場合に使えそうなので、少し調べてみたいと思います。 基本的な使い方 new THREE.DataTexture( d…
webpack-dev-server 開発用サーバを立てることができるモジュールです。 詳しくは公式のドキュメントを見てみてください。 手順 モジュールをインストール。 npm install --save-dev webpack-dev-server package.jsonにscriptを追加。 "scripts": { "start":…
ゆらゆらテクスチャをやってみたいと思います。 最終目標はこちらですが、まずは簡単なのからやっていきたいと思います。
新年を迎えて、遅くなりましたが2017年の振り返りと、2018年の目標を立てたいと思います。 あまり目標を文字に起こしたことがなかったので、今年はブログに書いておくことにします。
メタボールっぽい演出。 【サンプル】 こんな感じになります。
グリッチの練習メモです。
前回「THREE.jsでオリジナルのポストプロセスをやってみる」と題しましてポストプロセスについての記事を書きました。 よくよく調べると、THREE.jsにはポストプロセスを行う仕組み自体が用意されており、それを利用すればオリジナルのポストプロセスも簡単に…
前回オフスクリーンレンダリングについて書きました。 今回は、オフスクリーンレンダリングを利用して、ポストプロセスをやってみたいと思います。 ポストプロセスを簡単に言うと、作成済みのシーンに対して、あとから何か処理を行うことです。 今回は以下の…
オフスクリーンレンダリングに挑戦してみたいと思います。 オフスクリーンレンダリングとは、画面には表示せずにメモリ空間上に描画することです。 この一時的に描画されるメモリ空間のことを「フレームバッファ」と言います。 今回は以下の図のように、オフ…
グリッチ(glitch)ぽい表現 フラグメントシェーダーを利用して、デジタル表現でよくあるグリッチに挑戦したいと思います。 理想は↓です。ただし私ではこの完成度は無理ですが、まずは挑戦してみます。 https://codepen.io/ykob/pen/GmEzoQ
Variable Font (バリアブルフォント)とは アドビとマクロソフト、グーグル、そしてアップルが共同で開発を進めてきたテクノロジー。 1つのフォントで複数の役割を担うフォント。 1つのフォントで複数フォントを表示できるが、ファイルサイズはそれほど大き…
板ポリゴンを作成して、テクスチャを貼ってみたいと思います。 まずは、画面全体に板ポリゴンを貼ってみたいと思います。 Geometryクラスと、BufferGeometryクラスで少し書き方が異なるみたいだったので、両方書いておきます。
本日UXDTさん主催の「セルフユーザビリティテスト検定講座」に参加してきました。 参加者は30人ほどいて、職種もデザイナーや、エンジニア、セールス、エディタなど職種も様々でした。 はじめは座学でセルフユーザービリティの概要を聞き、最後に実際にワー…
フラグメントシェーダーでモノクロエフェクトをやってみます。 このエフェクトは比較的分かりやすかったです。 下の画像をモノクロ表示してみたいと思います。
Three.jsを使ってテクスチャを読み込むのはとても簡単です。 THREE.jsのテクスチャについて調べる let textuerLoader = new THREE.TextureLoader(); let mat = new THREE.MeshPhongMaterial(); let geom = new THREE.BoxGeometry(3, 3, 3); textuerLoader.lo…
フラグメントシェーダをつかってのノイズを作成するためのメモです。
以前mod関数やfor文でタイルレイアウト挑戦しました。 for文でタイルレイアウトをやってみる 今回はfract関数を使ってタイルレイアウトに挑戦してみたいと思います。 fract関数は引数の値の少数点以下の値を返却してくれます。 mod関数で代替するとしたらmod…
行列を使った回転と、拡大縮小をやってみます。 sin,cosで円を回転 sin、cosを使って回転してみます。 const float PI = 3.14159265359; void main( void ) { vec2 st = (gl_FragCoord.xy * 2.0 - resolution) /min(resolution.x,resolution.y); float p = 0…
フラグメントシェーダーを使って円を描いてみます。 三平方の定理で円を描く void main( void ) { vec2 st = (gl_FragCoord.xy * 2.0 - resolution) / min(resolution.x, resolution.y); vec4 c = vec4(1.0); if(pow(st.x,2.0) + pow(st.y,2.0) <= 0.5){ c =…
閾値を超えたら1.0を返し、超えなかったら0.0を返すstep関数を使って矩形を描画してみたいと思います。
GLSLを学習中の自分用のメモです。