private void Awake() { FBOUtility.CreateMaterial(ref _setQuadrangleDataMat, _setQuadrangleDataShader); _materialPropertyBlock0 = new MaterialPropertyBlock(); _materialPropertyBlock1 = new MaterialPropertyBlock(); _RwMaterialPropertyBlock = new MaterialPropertyBlock[8]; _LwMaterialPropertyBlock = new MaterialPropertyBlock[7]; for (int i = 0; i < (18 - 2) / 2; i++) { _RwMaterialPropertyBlock[i] = new MaterialPropertyBlock(); } for (int i = 0; i < (16 - 2) / 2; i++) { _LwMaterialPropertyBlock[i] = new MaterialPropertyBlock(); } SetupToCalculation(); for (int i = 0; i < _pointWallRightList.Count - 2; i += 2) //for (int i = 8; i < 10; i += 2) { BuildMesh(_pointWallRightList, 1, i, RightWallMesh, Mat, _RwMaterialPropertyBlock[i / 2]); } for (int i = 0; i < _pointWallLeftList.Count - 2; i += 2) { BuildMesh(_pointWallLeftList, -1, i, LeftWallMesh, Mat, _LwMaterialPropertyBlock[i / 2]); } }
void Start() { FBOUtility.CreateBuffer(ref _gravityDirectionMap, BufferWidth, BufferHeight, RenderTextureFormat.ARGBFloat, FilterMode.Bilinear); FBOUtility.CreateBuffer(ref _worldPositionMap, BufferWidth, BufferHeight, RenderTextureFormat.ARGBFloat, FilterMode.Bilinear); FBOUtility.CreateBuffer(ref _worldPositionYGradientMap, BufferWidth, BufferHeight, RenderTextureFormat.ARGBFloat, FilterMode.Bilinear); FBOUtility.CreateBuffer(ref _uvMap, BufferWidth, BufferHeight, RenderTextureFormat.ARGBFloat, FilterMode.Bilinear); FBOUtility.CreateBuffer(ref _normalMap, BufferWidth, BufferHeight, RenderTextureFormat.ARGBFloat, FilterMode.Bilinear); FBOUtility.CreateBuffer(ref _emitterUVMap, BufferWidth, BufferHeight, RenderTextureFormat.ARGBFloat, FilterMode.Point); FBOUtility.CreateBuffer(ref _ceilingMap, BufferWidth, BufferHeight, RenderTextureFormat.ARGBFloat, FilterMode.Point); FBOUtility.CreateBuffer(ref _gravityInteractionMap, BufferWidth, BufferHeight, RenderTextureFormat.ARGBFloat, FilterMode.Bilinear); //FBOUtility.CreateBuffer(ref _resultRendererMap, BufferWidth, BufferHeight, RenderTextureFormat.ARGBFloat, FilterMode.Bilinear); FBOUtility.CreateMaterial(ref _setQuadrangleDataMat, _setQuadrangleDataShader); FBOUtility.CreateMaterial(ref _setTriangleDataMat, _setTriangleDataShader); FBOUtility.CreateMaterial(ref _calcGradientMat, _calcGradientShader); FBOUtility.CreateMaterial(ref _resultRendererMapMat, _resultRendererMapShader); // GetComponent<Renderer>().sharedMaterial.mainTexture = _gravityDirectionMap; }