原创 關於Texture Cache簡單總結
Texture Cache是一個存儲圖片數據的只讀cache 按照正常uv順序讀貼圖tex cache有高命中率 Texture Cache在 shader processor附近,所以它有高吞吐率,並且低延遲 上圖可見有許多 shad
原创 Tiled Based Deferred Shading與Forward+
Tiled Based流程 1.將屏幕分成小塊,每個小塊爲一個視錐體 2,(depth bounds)在每一個視錐體中,根據ZBuffer得到每個Tile的MinZ和MaxZ,用MinZ到MaxZ這片區域對光做交點測試(使
原创 WangTile實現小結
過程 square tiles with just two types of edge, the complete stochastic set consists of 16 tiles,While the number of t
原创 Hierarchical Z-Buffer Visibility (Hi-Z)
可見性算法的目的是丟棄隱藏面, 對於GPU可以節省CPU傳入頂點信息的帶寬&頂點ALU&Fragment ALU的消耗, 對於CPU可以減少DC(物件被剔除了) 有三種方式可以實現可見性算法 1.object-space coherenc
原创 ARM Unity開發者圖形優化指南總結
優化列表 應用層: 1.用 OnBecameVisible() 和OnBecameInvisible() 來開關高cpu消耗的物體,或者該物體的部分高消耗邏輯代碼 2.用 Vector3.sqrMagnitude 來替代 Vector3.
原创 用Projector來優化陰影
以前的項目使用projector做中配的影子,高配角色實時陰影,低配畫一個半透明的黑圓 基本原理就是將畫影子的相機掛到Projector上,用該相機畫指定layer的物體用黑色的shader畫到一張RT上,,再用這個RT作爲Project
原创 Volumetric Cloudscapes(一):理論
billboard雲沒辦法實現雲間的陰影,所以要做一塊 voxel clouds voxel clouds有一些缺點會很耗 • 大量texture讀取 • Ray marches • 嵌套循環 塑形部分 根據高度的不同種類的雲,
原创 開啓stripping遇到的問題
在手機上會遇到Could not produce class with ID***的問題,是因爲Unity strip掉了用到的腳本 如果是非UnityEngine.dll中的類,會報not found的錯,需要new一下改類 參考: h
原创 Planer Reflection
源代碼來自Unity https://github.com/keijiro/AdamPlaneReflection 參考: Forward Mapped Planar Mirror Reflections http://ws.iat.sf
原创 Tiled Based Deferred Rendering與Forward+
Tiled Based流程 1.將屏幕分成小塊,每個小塊爲一個視錐體 2,(depth bounds)在每一個視錐體中,根據ZBuffer得到每個Tile的MinZ和MaxZ,用MinZ到MaxZ這片區域對光做交點測試(使
原创 問題總結-AlphaTest在forward管線生成DepthNormalsTexture的問題
在Forward管線中,如果後期需要用到法線貼圖, 需要將相機depthTextureMode 的Flag設置爲DepthNormals 在相機面板可以確認 這樣的話會把物體走一遍"Hidden/Internal-DepthNorm
原创 Unity 2018 3.0地形優化與新增特性
https://blogs.unity3d.com/cn/2018/10/10/2018-3-terrain-update-getting-started/ 總覽: This update features improved tools
原创 關於EarlyZ
在前向渲染中,ZTest是在Fragement Shader之後進行的,也就是說,被遮擋的部分也要繪製FS,就產生了Over Draw,其實很費,Early Z Culling就解決了這個問題 Early fragment tests,
原创 延遲渲染與前向渲染
The basic idea behind deferred shading is to perform all visibility testing before performing any lighting computations
原创 問題總結-forward render path surface shader 不寫入深度問題
問題復現:forward render path surface shader刪除fall back之後 不寫入相機的深度貼圖,導致用到深度的後期計算錯誤 解決辦法,#pragma surface 加入 fullforwardshadow