【CMS】Contentfulでコンテンツ管理

GatsbyJSとNetlify CMSでブログを作る」で静的ファイルとHeadless CMSで情報管理できないかと考えましたが、さらにホスティングとコンテンツを分離を考える。

Contentfulでコンテンツ管理をしてみます。

続きを読む 【CMS】Contentfulでコンテンツ管理

GatsbyJSとNetlify CMSでブログを作る

GatsbyReact用の非常に人気の高い静的サイトジェネレータです。

 

Next.js(SSR寄り)を使っているとどうしてもGatsbyも試してみたくなります。

スター数ではNext.jsの方が多いですがUsed byで見るとGatsbyの方が倍以上使われてるんですよね。

 

WordPressの代替を探していることもあり、GatsbyNetlify CMSで管理するブログを試してみます。

用語・略語:CMS:コンテンツマネジメントシステムSSG:静的サイトジェネレータ

続きを読む GatsbyJSとNetlify CMSでブログを作る

GLSLで集中線を書く

漫画やアニメなどでよくある集中線をGLSLで実装します。

テクスチャを読み込んで混ぜるのが一番簡単ですが、形状や場所に限界があるのでGLSLの関数を使って自由に書けるようにします。

続きを読む GLSLで集中線を書く

GLSLファイルをimportする

Next.jsgl-reactを使ってGLSLを使っていますが、文字列直書きなのが気になり始めたので.frag.vertなどのGLSLファイルに分けて管理しようと思います。

 

具体的にはwebpackのローダーを追加して読み込めるようにした覚書き。

他のモジュールバンドラでも文字列読み込みはあると思いますが、大体の環境ではBabelでトランスパイルしてwebpackでバンドルしてると思います(主観)。

続きを読む GLSLファイルをimportする

GitHub Pagesを使って静的サイトをホスティング

用途は未定ですがなんとなく使ってみたくなったのでGitHub Pagesを使ってみます。

GitHub自体は前から使っていてリポジトリも結構あるんですが全部プライベート。

後々なにか公開したときにHTMLドキュメントを載せれるようにしよう。

 

サーバー側も結構好きなので静的サイトってそんなに経験ないんですよね。

ちゃんと使ったことがあるのはAWS S3くらいです。

続きを読む GitHub Pagesを使って静的サイトをホスティング

【GLSL】YUV色空間とHSV色空間

GLSLに限らず画像処理やエフェクトを書いていると、RGB座標系だけで考えていると限界があります。

別の色空間に変換して処理することで出来ることが増えたり、処理が楽になったりします。特に色合いと色の強度を分離できると多くの場面で役立ちます。

普段よく使うYUV色空間とHSV色空間をGLSLでも使ってみます。

YUV

YUVYCbCrYPbPr )は輝度Yと、青・赤の色差によって表現する色空間で動画などで多く用いられます。

映像規格ITU-R BT.709に基づいて変換してみます。

単純な行列を使った線形変換です。

行列の掛け算が逆じゃない?って思った方は以前の投稿を参照してください。

この変換では輝度を少し増やして、色相を固定しています。

余談ですが、この変換の輝度YをそのままRGBに適応すると同規格のグレースケール変換になります。

HSV

HSVは色相(Hue)と彩度(Saturation)、明度(Value)で表す色空間です。

色相環はペイントソフト等でもよく使いますね。

非線形変換で多少複雑な計算になります。

色環を[0~2π]0を赤として円錐モデルで変換します。

hsv->rgbの変換が特にめんどくさいですね。

RGBがすべて同じ場合の処理は無視(赤として処理)してます。

 

また余談ですが彩度がSaturationなのにどうしても違和感があります。photometricな世界だと飽和のほうで使われるので。

 

HSVでは特に明るさに関わらない色そのものに対して処理できます。

照明の当たり方の異なる同じ物体に対して彩度、明度を固定する(色相のみの情報にする)とこうなります。

R=G=Bの情報が落ちてますが、明るさに関わらず処理できることがわかります。

【GLSL TIPS】行列の宣言と計算の注意点

GLSLではさほど使う機会のない行列ですが画像処理で使うこともあります。

この行列について根本的な部分の勘違いと、勘違いに気づかない原因について覚書きしておきます。間違いに気づけないのは本当に厄介。

ついでに行列について1からおさらい。

前回float比較について色々言ってますが結局==比較します。問題ないし楽だから。

続きを読む 【GLSL TIPS】行列の宣言と計算の注意点

【GLSL TIPS】円周率の定義とfloat精度

GLSLで円周率の定義方法と用いるfloatの精度についての覚書きです。

別に知らなくても問題ないので大抵は気にしなくていいやつです。

続きを読む 【GLSL TIPS】円周率の定義とfloat精度

【React】Nextでace.jsを使ってエディタ表示する

gl-reactを使ってGLSLでリアルタイムな画像処理がしたい。

ace.jsという有名なコードエディタがあるので使いたいですが、Reactでそのまま使うとなると難しそう。

バージョンは最新ではないもののReactコンポーネント化したreact-aceというものがあったので、その使い方とnext.jsで使う時の注意を覚書き。

続きを読む 【React】Nextでace.jsを使ってエディタ表示する

GLSLで画像のぼかし、モザイク

ぼかし処理の中でも何気によく使われるモザイクを作ってみます。

先の2つと比較すると見えちゃいけないものの処理なんかに使うやつです。

GLSLぼかしシリーズ

続きを読む GLSLで画像のぼかし、モザイク