タグ

2Dとblendに関するedo_m18のブックマーク (3)

  • 内蔵シェーダのコード解説(2) - Unlit/Transparent - 強火で進め

    今回解説するのは Unlit/Transparent 。 Unlit/Texture と同様にライティングの反映無しのごくごくシンプルなシェーダです。 Unlit/Texture との違いは透明(Transparent)に対応している所です。テクスチャ画像のアルファ値がちゃんと反映され透過されます。 シェーダの全コード // Unlit alpha-blended shader. // - no lighting // - no lightmap support // - no per-material color Shader "Unlit/Transparent" { Properties { _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} } SubShader { Tags {"Queue"="Transparent" "Ign

    内蔵シェーダのコード解説(2) - Unlit/Transparent - 強火で進め
  • Cocos2d-x で BlendFunc - WonderPlanet DEVELOPER BLOG

    おつかれさまです。今回ブログを担当します藤澤です。 さて、Cocos2d-x ではレイヤ(ノード)を重ねて画面を作成するわけですが、ゲームですから画像を透過させてみたくなることもあります。そんなときは setOpacity を使って不透明度を変更してやってもいいのですが、BlendFunc というのを使うと、いわゆる Graphics ツールでいうところのレイヤと同じようにさまざまな合成結果を得ることができます。しかしこの BlendFunc、普段あまり使わないのでいざというときに使い方を忘れてしまいがちです。そこで今回は備忘録的に BlendFunc の使い方をまとめてみたいと思います。 まずは基的な使い方ですが、以下のようになります。 CCSize size = CCDirector::sharedDirector()->getWinSize(); CCLayerColor* bac

    Cocos2d-x で BlendFunc - WonderPlanet DEVELOPER BLOG
  • WebGL で高速 BlendMode | Yomotsu net

    WebGL を使えば、色の加算、減算、乗算といったブレンドモードが高速で処理できるというお話。 Canvas2D でもピクセルマニピュレーションができるので、様々なブレンドモードを自前で実装することができるのだが、ピクセル数 * 4色の処理負荷が CPU にかかるためパフォーマンスがよくない。しかし WebGL のフラグメントシェーダーを利用すれば色を高速で処理できる。 demo WebGL は簡単なことをするにも、初期化の処理が冗長なためコードは長くなってしまうが、実際は大したことはやっていない。 2つのトライアングルを用意する 2枚のテクスチャー画像を適用する フラグメントシェーダーでテクスチャー画像の色をブレンドする GLSL では、4成分 (Red, Green, Blue, Alpha) をそのまま足したり掛けたりすることができるので、ブレンドの公式に当てはめるだけで処理できる。

    WebGL で高速 BlendMode | Yomotsu net
  • 1