タグ

glslに関するyoushowのブックマーク (8)

  • GLSL Quine - 兼雑記

    前から書いてみたいなーと思っていた、 GLSL による Quine です。 http://glslsandbox.com/e#23148.0 マウスカーソルを画面半分より下に送ると拡大して読みやすくなっていきます。 Quine になってるかの確認は困難ですが、ぱっと見た感じあってるような気がします…たぶん。 GPU によっては動かないみたい。 Macbookair だとデータを減らすと動くんで、なんか命令数の上限とか使ってるデータ量の上限とかにかかってるんですかね。 Macbookair で動く程度にデータを減らすのは大変そうと判断。 Tokyo Demo Fest になんか出したいなーと常に思ってるけど今年も何もしなかったので、これでお茶を濁そう…と思ってたらこれも間に合わなかった。 やりゃ動くに決まってるんだけど、 GLSL でまともな速度で動く手順を模索するのが手間でした。なんか頻繁

    GLSL Quine - 兼雑記
    youshow
    youshow 2015/02/22
  • Shadertoy BETA

    Build and Share your best shaders with the world and get Inspired Latest contributions: "Drawing a circle again bruh" by defnixx 22 minutes ago, "RWMusic toolbox" by RoosterWho 57 minutes ago, "Iridescent Spirals" by anej 57 minutes ago, "vortex knot flow field" by Boogaloo 1 hour ago, "Gaussian-ish airglow approx." by FordPerfect 1 hour ago

  • HSV 表色系を使ってみよう (C++ / GLSL 実装付き) « demoscene.jp

    Tweetメガデモアドベントカレンダー 2012、日は RGB とはちょっと違う方法で色を扱う表色系、「HSV」を紹介します。 ―――駆け出しデモシーナーの @Reputeless は、かっこいいデモを作るために、プログラムで虹色のグラデーションを描こうとしました――― ええっと、赤が RGB(1.0f, 0.0f, 0.0f)、赤とオレンジの中間が RGB(1.0f, 0.25f, 0.0f) オレンジは RGB(1.0f, 0.5f, 0.0f)、黄色は RGB(1.0f, 1.0f, 0.0f) 黄緑色は RGB(0.0f, 1.0f, 0.0f); ・・・うっ うわああ、めんどくさい! レインボーなグラデーションって RGB でどうやって表現するの!? 気を取り直して、今度はカラフルな円をたくさん描くことにしました。 RGB の値を乱数で決めているようです。 RGB( Rando

    youshow
    youshow 2012/12/20
  • GLSLで簡単2Dエフェクト « demoscene.jp

    こんにちは。tomohiroです。 概要 二次元の模様の描画方法と座標変換で模様を楽しく変形する方法を紹介する。 これらの技術は20年以上も昔からdemosceneで使われていたものである。 実装にはGLSL言語を使う。 GLSLでの2Dエフェクト OpenGLでは画面に三角形をレンダリングするときに, 三角形内の各ピクセルに対してフラグメントシェーダを一回づつ実行してピクセルの色を決める。 (その後に画像を加工する処理等を入れる事もあるので、必ずしもフラグメントシェーダの実行結果の色がそのまま画面に表示されるとは限らない。) フラグメントシェーダはGPUで実行され, GLSL言語によって自由にプログラミングする事ができる。 今回紹介する手法は画面全体を覆う四角形を描画したときに実行されるフラグメントシェーダとして実装される。 今回はなんらかの外部データを扱う方法については説明しないので,

  • 全能感UP! GLSLで進めレイマーチング « demoscene.jp

    こんにちは。tomohiroです。 概要 最近の4k/64k introでよく使われているレイマーチング(Ray marching)法について説明する。 レイマチーングとはレイトレーシング法の一種である。 レイマーチングではレイの始点から少しづつ進みながらシーン内のオブジェクトとの交点を求める。 シーン内のオブジェクトはDistance functionという関数で記述される。 なぜレイマーチング, Distance functionを使うのか Distance functionは数行程度のコードによって実装できるので, 小さなデータで3D形状を表現する事ができる。 複雑な形状も関数をいくつか組み合わせる事によって作る事ができる。 しかし三角形ポリゴンほど汎用的に形状を表現するのは難しい。 レイマーチングを使うと Distance functionで表現された形状を少しのコードでレンダリン

  • GLSL Sandbox Gallery

    <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAgAElEQVR4Xry9B5idV3Wvv496l6b3mTMzmlGZkWY00siS1UbVtiRbrpJs2bIs29iWjbFDMUbGFsWATTMlgKimmZjQEgLEJAFDKAmEUBISckkxCfcmhJQbSG/n/757n2/OOVOkGfJ/7n6erTOjOd/+vm+XtX7rt9ZeOxdCKFBHSy4XQueyENqXhtC6JISWJdWhbUldyC9rCD3VzaG3oTWEjs4QBrtCWPNPXHd18JqsnBgM4fjA3rCz74IQ1vaFsLExhKq/4c+PUb9MvYX6zuI1z+fnNdTjobsqhD/5+1fz82rq26m/VP5Y5/158dwQzox0

  • GLSL Sandbox超活用術 « demoscene.jp

    みなさんこんにちは。holeです。メガデモアドベントカレンダー、今回はGLSL Sandbox超活用術です。 GLSL Sandboxとは はい、さっそくアクセスしてみましょう。 こんな画面が表示されたと思います。 これがGLSL Sandboxです。このウェブサービスはWebGLやJavaScriptによる先進的で意欲的なウェブアプリケーションを多数公開している大物プログラマーであるMr.doob氏が中心となって開発されているもので、ウェブ上でGLSL言語によるシェーダ開発・実行を行え、さらにその作品の公開・共有・派生までできるというものです。ちなみにGLSLというのはOpenGLによるシェーダ言語のことです。 現在、Herokuにホスティングされており、ソースコードはGithubより入手可能になっています。 作品を見る さて、GLSL Sandboxは基的には作品開発・公開の場ですが

  • T.Teranishi:OpenGL:version

    OpenGL は、かつては上位互換のライブラリでした。 OpenGL 3.0 までは、以前のバージョンに含まれる標準機能は、以降のバージョンで使用可能です。 例えば、OpenGL 1.1 の頂点配列機能は、OpenGL 1.2 以降でも使用できます。 つまり、このことは OpenGL 2.X は、OpenGL 1.X の機能を全て含むことを意味しています。 OpenGL 1.2 以降では、ARB_imaging サブセットがオプションで使用できる環境もあります。 永らく上位互換を維持してきた OpenGL ですが、 肥大化した OpenGL の仕様をシェイプアップするために、 OpenGL 3.0 では過去のバージョンとの互換性に関して見直しが行われ、 将来削除が予定される非推奨機能がまとめられました。 これらは冗長なものであったり、シェーダで置き換え可能な機能です。 OpenGL 3.1

  • 1