3D・WebGL寄り

Bokeh Gradient WebGL Hero

淡いボケ、円形アクセント、ゆるいライン模様で、導入セクションに奥行きを足すWebGL背景表現です。

Y
Yutaka Kizaki
@junkbranding
2026年5月26日
読了時間: 5分
構成 / File Structure
</>Code Viewer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125

はじめに

自分用メモ。

ファーストビューの背景は、主張を強くしすぎると文字が読みにくくなる。淡いグラデーション、円形アクセント、少しだけ動くラインを重ねるくらいが扱いやすい。

このサンプルでは、WebGLを背景として敷き、前面の文字はDOMで分けている。背景は雰囲気を作る役、文字は読ませる役として分けておく。

WebGL背景の基本

ここで見ておくのは、1枚のcanvasで複数の背景要素をまとめて扱える点。CSSだけのグラデーションより、線の揺れや淡い粒感を足しやすい。

  • ファーストビューに少し奥行きを付けたい
  • 背景にゆるい動きを入れたい
  • 画像ではなくコードで色や形を調整したい
  • 文字の読みやすさはDOM側で保ちたい

組み合わせのポイント

  • 背景、円形アクセント、ライン模様、ボケを別の役割として考える
  • 動きは強くしすぎず、背景全体が少し呼吸するくらいに抑える
  • 前面の JUNK はWebGLに描かず、通常のHTMLとして重ねる
  • 白いベールを挟んで、背景の強さと文字の読みやすさを調整する

実装のポイント

  1. Component.jsx はcanvasの初期化、リサイズ、マウス位置、描画ループだけを見る
  2. createBokehProgram.js はshader programを作る処理だけに分ける
  3. fragmentShader.js では背景色、円形アクセント、ライン、ボケ、grainをまとめて描く
  4. styles.css ではcanvas、ベール、文字の重なり順だけを整える

まとめ

覚えておくのは、背景表現は作り込みより分担。WebGLは雰囲気、CSSは読みやすさ、HTMLは情報を担当する。そこを分けておくと、見た目の調整もしやすい。

タグ

WebGLJavaScriptアニメーションUIUX3Dパフォーマンス

関連記事