###### tags: `研究メモ`
# リダクションについて
### ファイル形式の比較

http://norman3d.com/TextureMorphTargets/Vertex-count-agnostic_Morph_Targets.pdf
## 可視性の重みづけ
とりあえず,面ごとに(反射回数,屈折回数)の配列を作成.ただ,フレネルによって屈折→反射→屈折や,屈折→屈折→反射といった面がおなじ値になってしまっている.
## 見えない部分を削除して検証
自作/制限:4,4/たどり着かなった部分はそのまま飛ばす(環境マップ)

自作/制限:4,4/たどり着かなかった部分を黒に/6568ms

見えない部分を削除
4/4 14,828KB→14,019KB
vertex 404294->366753

MAYAでは
324422
削減前

削減後

自作/制限:3,3/2630ms

見えない部分を削除
3/3 14,828KB→11,859KB
vertex 404294->265469

Maya
324422

### 削減によってどのくらい画像が変わるのか?
#### 見えない部分を削減
(Maya/32442)
|屈折2回,反射2回 二乗誤差:140.7|屈折3回,反射3回 二乗誤差:32|屈折4回,反射4回 二乗誤差:2.09|
| :---: | :---: |:---: |
||||
|| ||
|| | | |
#### 全体的に削減
|元(制限:3,3自作)v:202133|v:171306(10%off) 二乗誤差186.543|v:146493(20%) 二乗誤差286.095|
| :---: | :---: |:---: |
||||
||||
||||
|v:127498(30%) 二乗誤差364.547|v:101068(50%) 二乗誤差590.026||
| :---: | :---: |:---: |
||||
||||
||||
重みづけ
|(屈折で重みづけ/0,0.2,0.4,0.6,0.8)v:183528(71157) 二乗誤差282.001|(屈折で重みづけ/0,0.1,0.3,0.5,0.7)v:176998(94192?) 二乗誤差181.003|
| :---: | :---: |:---: |
||||
||||
★課題
リダクションがなんかおかしい
あと,50%削減したはずなのに重複頂点が23k/202kしかない
辺の省略個数がおかしい
毎回長さソートを行わないから?
||||
| :---: | :---: |:---: |
||||
いい感じだけど削減数の制御がいまいち
不正頂点数が削減数に比例しない.
||||
| :---: | :---: |:---: |
||||
リダクションの改善
毎回ソートを行うことで,より正確に
* 黄色の部分のみを削減
||→||
| :---: | :---: |:---: |
ただし,削減量を大きくするとそれ以外の部分も削減してしまう...
どっちも微妙なので見直し必要
|レイの長さ||光のつよさ|
| :---: | :---: |:---: |
||||
||
* リダクションの改善?
||||
| -------- | -------- | -------- |
|削減無し| ||
|中心右のみ削減|||
|右にいくにつれて削減|||
* 光の長さはあってるか
|長さ|||
| -------- | -------- | -------- |
||||
|強さ|||
||||
強さを使ってリダクション
|元|強さで重みをつけて50%削減|全体的に削減(7391kB)|
| -------- | -------- | -------- |
||||
|レンダリング時 の平均二乗誤差|113.488|306.832|
||||
|長さで削減|長さ*強さ(101066)||
| -------- | -------- | -------- |
|312?うまくいかん|
||
値の差が多きすきるような気がするけど,差分画像を見たら重みをつけたほうはほぼさがなかったけど,全体の方は差が結構あった.
---
|強さで重み付けて削減(80%:40426) | 全体的に削減(80%:40426) |
| -------- | -------- | -------- |
|||
|391.159|482.787|
|長さで重みをつけてリダクション(80%:40426)|強さ*長さ|
| -------- | -------- | -------- |
|||
||
|
|372.699|387.744|
* アニメーション
これでMayaで連番OBJが読める??
https://www.youtube.com/watch?v=JwcuK-0dMm8
→読めた
適当に削減して,課題が見えてきたらうれしい
* Mayaでは
| Column 1 | 全体的に50% | 重みをつけて50% |
| -------- | -------- | -------- |
| 平均二乗誤差 |83.98|78.83|
|SSIM|0.936|0.939|
| Column 1 | 全体的に80% | 重みをつけて80% |
| -------- | -------- | -------- |
| 平均二乗誤差 |132.335|103.307|
|SSIM|0.895|0.921|
まあ減ってはいる
| Column 1 | 全体的に95% | 重みをつけて95% |
| -------- | -------- | -------- |
||||
| 平均二乗誤差 |668.641|574.571|
|SSIM|0.806|0.843|
---
### 法線転写を実験(頂点を重み無しで八割削減したものに元モデルの法線を転写)
・目でみてもかなり元画像に近い
・テクスチャは2048*2048のJpeg画像(1.6MB)を使用
・この時(8割削減)のメッシュデータ削減量11.7MBに対してはそこまでの大きさではないが,全フレーム必要.またカメラ位置によっては解像度が不十分かも?
・トポロジが変化するなら毎回UV展開が必要?
| 元 | 転写なし(80%off) | 転写あり(80%off) |
| -------- | -------- | -------- |
||||
| 元画像との平均二乗誤差 | 132.335 | 40.189 |
|SSIM|0.895|**0.975**|
---
### SSIMを計算
http://darosh.github.io/image-ssim-js/test/browser_test.html
* 上表
* 0.95以上で視覚的に等価である
---

### 強さと長さの合成の実験
80%削減
|80%全体的に| (長さ*(1-強さ)) | 強さ | 長さ |
|--------| -------- | -------- | -------- |
|| | ||
|0.889|0.924|0.921|0.925|
| 長さ*(1/強さ) | 長さ+(1/強さ) | (長さ+(1-強さ))/2 ||
| -------- | -------- | -------- |-------- |
|||||
|0.911|0.918|0.923|0.924|