Contact the domain owner here gmork.in 2024 著作権. 不許複製 プライバシーポリシー
CompanyEngineeringProductSunsetting AtomWe are archiving Atom and all projects under the Atom organization for an official sunset on December 15, 2022. January 30, 2023 Update: Update to the previous version of Atom before February 2 On December 7, 2022, GitHub detected unauthorized access to a set of repositories used in the planning and development of Atom. After a thorough investigation, we hav
qiita.com GPUで暖を取りたい人のためのGLSL Advent Calendar 2016,25日目の記事です. 前回の記事で紹介した円の反転という操作を用いてフラクタルを描いてみます. まずはこの画像のような4つの円板とその反転を考えます.それぞれの円の反転は自分以外の円板を自分の内側に移します.よって,それぞれの円の内側には3つの円が移され,12個の円ができています.次に,ショットキー円の反転を新たに現れた小円にも適用することを繰り替えすと,以下のように円が入れ子状に続いていきます. 円が接するときには,このような美しいネックレス上の構造を見ることができます.これらの円列をショットキー円の軌道(Orbit),円列の極限を極限集合と呼びます. この処理はJavaScriptで書くと以下のような感じになります. let orbits = []; orbits.push(schot
Lightweight App, Heavyweight Power KodeLife gives you 100% native real-time control over GPU power across multiple platforms, with one lightweight app. Cross-platform Support Take your ideas with you! Available now on macOS, Windows and various flavors of Linux - including Raspberry Pi - as well as iOS and Android. Real-time Live-Coding Code is checked, evaluated and updated in the background as y
こんにちは。tomohiroです。 概要 二次元の模様の描画方法と座標変換で模様を楽しく変形する方法を紹介する。 これらの技術は20年以上も昔からdemosceneで使われていたものである。 実装にはGLSL言語を使う。 GLSLでの2Dエフェクト OpenGLでは画面に三角形をレンダリングするときに, 三角形内の各ピクセルに対してフラグメントシェーダを一回づつ実行してピクセルの色を決める。 (その後に画像を加工する処理等を入れる事もあるので、必ずしもフラグメントシェーダの実行結果の色がそのまま画面に表示されるとは限らない。) フラグメントシェーダはGPUで実行され, GLSL言語によって自由にプログラミングする事ができる。 今回紹介する手法は画面全体を覆う四角形を描画したときに実行されるフラグメントシェーダとして実装される。 今回はなんらかの外部データを扱う方法については説明しないので,
はじめに 最近 OpenGL ES 2.0 触っていてシェーダに興味を持ったのでやってみました。 参考 以下のサイトで勉強させて頂きました。 GLSLで簡単2Dエフェクト « demoscene.jp ここで紹介されている GLSL Sandbox で WebGL ベースでリアルタイムにシェーダの結果を確かめられるので利用させて頂きました。 http://glsl.heroku.com/ 結果 http://glsl.heroku.com/e#7720.0 解説 解説というのもおこがましいですが…、要は gl_FragColor に与える vec4 を現在のピクセル位置 gl_FragCoord や uniform 変数として与えられている resolution や time を利用しながらゴリゴリ作るわけです。 しかしながら、Sandbox の gallery から色々なサンプルコードを
次なる Web を見据えて 来たるべき WebGL2 の時代へ 2011 年、最初のバージョンである 1.0 が勧告された WebGL は、ウェブブラウザ上で OpenGL ES に相当するグラフィックス API の機能を利用することができる JavaScript の API です。 そして 2016 年、WebGL の正当な後継バージョンとなる WebGL2 (もしくは WebGL 2.0) がいよいよ本格的に利用できる段階になりつつあります。 当サイトでは、2012 年の開設以来、WebGL 1.0 系の API を用いるための技術解説を掲載してきました。そして今後は、時代の変遷に合わせて WebGL 2.0 系の解説記事も公開していく方針です。 WebGL 2.0 が登場するとは言っても、後方互換を保つという意味もあって 意図的に有効化 しない限りは WebGL 1.0 相当の AP
glslViewer GlslViewer is a flexible console-base OpenGL Sandbox to display 2D/3D GLSL shaders without the need of an UI. You can definitely make your own UI or wrapper using the Python Module (include) or any other tool that communicates back/forth with glslViewer through the standard POSIX console In/Out or OSC. Joing #GlslViewer channel on shader.zone discord to learn how to use it, share work a
[連載]やってみれば超簡単! WebGL と GLSL で始める、はじめてのシェーダコーディング(1)WebGLGLSL まずは挑戦してみよう シェーダを自分でコーディングするなんて…… きっとお難しいんでしょ…… と、お思いの奥様方。そんなことはないんです。コツをつかめば意外と楽しめます。当連載では、シェーダというものに対して抱かれてしまいがちな、漠然とした 難しそう感 を払拭すべく、簡単なシェーダの記述とその基本について解説したいと思います。 想定する読者 当連載では、シェーダってなんか難しそう……とか、シェーダプログラミング始めてみたいけど……とか、なんとなく興味を持ってるけどシェーダを記述したことがない方を読者に想定しています。 たとえば Unity などのツール、あるいはマインクラフトのようなゲーム、またはモデリングソフトなどでもシェーダを自分で記述することができるような世の中で
1. シェーダーアート (呼び方は安定してない模様) GPUのシェーダーを活用して描く絵 Shader Art / Shadertoy / Shader Effect / etc… いずれも 表示ポリゴン数1 3D演算なし しかし GPU必死 2. Shaderis 何 頂点情報 Vertex Shader 頂点情報を 線や面に展開 面の1ピクセルごとに 色を塗ったり 絵を張り付ける Fragment Shader GPU プログラム コード GPUの中で、 頂点情報を受け取ってから 色をつけるまでの処理をする部分 3. 3DCGの「陰影」や「反射」等の光学的視覚効果は そういう図形や画像を用意して貼っているわけではなく、 Fragment Shaderが光具合に応じた色の塗り方を計算している 上に近い部分ほど 白く塗るシェーダー オリジナルのシェーダーを作って 模様を描ける! Fragm
iPhone アプリで使うボタン画像を 1 色だけ用意してシーンに合わせて色を変えて使えたなら、矢印みたいな単純な画像を 1 枚用意するだけでいろんなプロジェクトでも使えるし、ユーザーに背景色を選んでもらってそれに合わせてボタンの色を変更したりできて便利そうです。 そう思って調べてみたところ、CIFilter で画像をモノトーンに変換する 方法が見つかりました。 たしかにこれでも色を単調化できたのですけど、単調化で使う色をベースにして、黒ほど黒に、白ほど白に、表現されるため、色があるほど全体的に指定した色よりも暗く仕上がるところが気になりました。 特に、黒は黒として表現されるため、写真の変換にはいいのですけど、ボタンのような画像には少し勝手が悪いように感じます。 既存のフィルタが合わないとなると、自分で画像を調整するしかなさそうですけど、用意された画像を 1 ピクセルずつ処理して調整するに
シェーダめっちゃ楽しいですねw 最近はシェーダの勉強がメインになっていますが、ごにょごにょしてたらなんとなくそれっぽくなったので記事にしてみました。 ちなみに適用したところ↓ 処理の流れ 大まかな処理の流れは、 通常のオブジェクトをレンダリング 2Pass目で、法線方向に膨らませたオブジェクトを視点を考慮に透明度を計算 という感じです。(2Passってこういう使い方であってるんかな?) コード まずはコード。 Shader "Custom/GlowShader" { Properties { _Color ("Object's Color", Color) = (0, 1, 0, 1) _GlowColor ("Glow's Color", Color) = (1, 0, 0, 0) _Strength ("Glow Strength", Range(5.0, 1.0)) = 2.0 }
LiveBeatsでビジュアルエフェクトを幾つか作ってみたりしているんですが、さすがにJavaScriptのCanvas上で画像のピクセル単位の処理をごにょごにょしたりしているとパフォーマンスが厳しくなってきます。 まだもう少しはCanvasだけでも頑張れるかなぁと思いつつも、これに関してはもう進むべき道ははっきりしていてるんですよね。WebGLですよ、やっぱり。とは言え、GPUの性能をフルに引き出すにはシェーダープログラムをGLSLなる言語で書く必要がある所が結構な障壁になっています。という事でとっつきやすいTHREE.jsあたりを使って取りあえずJavaScriptでコントロールするだけでも今までとは一味違う表現ができるんですが... それでも満足できなくなったらこっち、GLSL Sandbox。GLSLでがしがし書いて即テストできるサイトで、ビジュアライザー系にそのまま使えそうなサン
Three.js には豊富なシェーダも付属していますが、オリジナルのシェーダを書くことも出来ます。開発段階では付属のシェーダを使うのがお手軽ですが、見た目を追及するにはシェーダに手を入れる必要も出てきます。ということで、 Three.js でのオリジナルシェーダの書き方を調べてみました。 今回は次のサイトを参考にしました。 SHAGERS-part2- ShaderMaterial THREE.ShaderMaterial を使うとオリジナルシェーダを書くことが出来ます。上記のサイトでは THREE.MeshShaderMaterial を使っていますが、現状は内部的に同じものになっています。 26 行目からの initShaderMaterial() 内で ShaderMaterial を作成し、あとで作る Mesh に適用しています。 ShaderMaterial を作成しているところ
WebGLの能力を引き出すプログラマブルシェーダー Webページ上で利用できるグラフィック技術を紹介する本連載も、ついに最終回となりました。フィナーレを飾る題材は、WebGLの最も強力な機能である「プログラマブルシェーダー」です。前回(多彩な表現力のWebGLを扱いやすくする「Three.js」)と同様にThree.jsの使用を前提として、プログラマブルシェーダーの基本的な書き方と、Three.jsを各機能に組み込む方法を解説します。 前回はThree.jsの代表的な機能を解説し、いずれもWebGLでなければ実現の難しいものばかりでした。しかし、実はそれでもWebGLの能力のごく一部を使っているにすぎません。独自のプログラマブルシェーダー(カスタムシェーダー)を書くことができれば、描画処理の大部分を柔軟にカスタマイズでき、望み通りの表現を得られます。Three.jsの使い方に慣れたら、ぜひ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く