Переглянути джерело

Merge branch 'master' of http://fort23.cn:3000/ck/XiuXianGame

# Conflicts:
#	UserSettings/EditorUserSettings.asset   resolved by origin/master(远端) version
LT 1 тиждень тому
батько
коміт
a113587d5e

+ 1 - 1
Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_glow_add.mat

@@ -57,7 +57,7 @@ Material:
         m_Offset: {x: 0, y: 0}
     m_Ints: []
     m_Floats:
-    - _Alpha: 0.0005259514
+    - _Alpha: 0
     - _AlphaCutoff: 0.5
     - _ColorMask: 15
     - _EnableExternalAlpha: 0

+ 2 - 2
Assets/Art/VFX/Materials/UIMat/ui_renwu_lg.mat

@@ -57,13 +57,13 @@ Material:
         m_Offset: {x: 0, y: 0}
     m_Ints: []
     m_Floats:
-    - _Alpha: 0.21220803
+    - _Alpha: 0.23588002
     - _AlphaCutoff: 0.5
     - _ColorMask: 15
     - _EnableExternalAlpha: 0
     - _MainSpeedU: 0.5
     - _MainSpeedV: 0.5
-    - _MainTexOffsetU: 0.19749725
+    - _MainTexOffsetU: 0.16982555
     - _MainTexOffsetV: 0
     - _MainTilingU: 0.8
     - _MainTilingV: 1

+ 1 - 1
Assets/Scripts/Core/BRG/BGRGameObjectInfo.cs

@@ -9,7 +9,7 @@ namespace Core.BRG
         public int initIndex;
         public Vector3 pos;
         public Vector3 rot;
-        public Vector3 scale;
+        public Vector3 scale=Vector3.one;
         public float4 color=1;
         public Matrix4x4 objectToWorld
         {

+ 22 - 6
Assets/Scripts/Core/BRG/BRGRender.cs

@@ -17,14 +17,17 @@ namespace Core.BRG
 
         private Map<string, BatchShaderBind> m_batchShaderBindMap = new Map<string, BatchShaderBind>();
 
-        public void InitRender(BRGSamples samples, List<T> gameObjectInfos,int maxCount)
+        public int maxCount;
+
+        public void InitRender(BRGSamples samples, List<T> gameObjectInfos, int maxCount)
         {
             this.m_gameObjectInfos = gameObjectInfos;
-
+            this.maxCount = maxCount;
             for (int i = 0; i < m_gameObjectInfos.Count; i++)
             {
                 m_gameObjectInfos[i].initIndex = i;
             }
+
             int maxItemSize = samples.GetAllShaderValueSize();
             Init(samples, maxCount, maxItemSize);
             UploadGpuData(gameObjectInfos.Count);
@@ -42,7 +45,11 @@ namespace Core.BRG
                 new NativeArray<MetadataValue>(m_samples.AllShaderValues.Count, Allocator.Temp,
                     NativeArrayOptions.UninitializedMemory);
             m_batchShaderBinds.Clear();
-            // int count= m_maxInstancePerWindow;
+            // BatchShaderBind transformBind = new BatchShaderBind();
+            // transformBind.shaderValue = new BRGShaderValue()
+            // {
+            //     key = "_Object2World",
+            // };
             for (int i = 0; i < m_samples.AllShaderValues.Count; i++)
             {
                 BRGShaderValue shaderValue = m_samples.AllShaderValues[i];
@@ -60,7 +67,14 @@ namespace Core.BRG
             return metadataValues;
         }
 
-
+        public void AddBGRGameObjectInfo(T info)
+        {
+            m_gameObjectInfos.Add(info);
+        }
+        public void RemoveBGRGameObjectInfo(int index)
+        {
+            m_gameObjectInfos.RemoveAt(index);
+        }
         public void UpdatePos()
         {
             if (!isUpdate)
@@ -68,6 +82,8 @@ namespace Core.BRG
                 return;
             }
 
+          
+
             int totalGpuBufferSize;
             int alignedWindowSize;
             NativeArray<float3x4> sysmemBuffer =
@@ -80,7 +96,7 @@ namespace Core.BRG
                 return;
             }
 
-            int m_itemCount = m_gameObjectInfos.Count;
+            int m_itemCount = maxCount;
             m_batchShaderBindMap.TryGetValue("_MainColor", out var baseColorBind);
             for (int i = 0; i < m_gameObjectInfos.Count; i++)
             {
@@ -107,7 +123,7 @@ namespace Core.BRG
             }
 
             // 每帧更新后重新上传数据到GPU
-            UploadGpuData(m_itemCount, m_batchShaderBinds);
+            UploadGpuData(m_gameObjectInfos.Count, m_batchShaderBinds);
         }
     }
 }

+ 1 - 1
Assets/Scripts/Core/BRG/BRGRenderBasic.cs

@@ -215,7 +215,7 @@ public unsafe class BRGRenderBasic
             {
                 for (int i = 0; i < shaderBinds.Count; i++)
                 {
-                    shaderBinds[i].SetData(m_GPUPersistentInstanceData);
+                    shaderBinds[i].SetData(m_GPUPersistentInstanceData,m_instanceCount);
                 }
             }
             // int off = m_maxInstancePerWindow * 2 * 3 * 16;

+ 13 - 2
Assets/Scripts/Core/BRG/BRG_backgrond.cs

@@ -4,6 +4,7 @@ using Core.BRG;
 using Unity.Collections;
 using Unity.Mathematics;
 using UnityEngine;
+using Random = UnityEngine.Random;
 
 public class BRG_backgrond : MonoBehaviour
 {
@@ -47,7 +48,7 @@ public class BRG_backgrond : MonoBehaviour
         }
 
         _mBrgRenderBasic = new BRGRender<BGRGameObjectInfo>();
-        _mBrgRenderBasic.InitRender(samples, m_gameObjectInfos,500);
+        _mBrgRenderBasic.InitRender(samples, m_gameObjectInfos,512);
     }
 
     private void OnDestroy()
@@ -70,7 +71,17 @@ public class BRG_backgrond : MonoBehaviour
         {
             return;
         }
-
+        if (Input.GetMouseButtonDown(0))
+        {
+            BGRGameObjectInfo gameObjectInfo= new BGRGameObjectInfo();
+            gameObjectInfo.pos = new Vector3(Random.Range(0f, 100f), Random.Range(0f, 100f), 0);
+            _mBrgRenderBasic.AddBGRGameObjectInfo(gameObjectInfo);
+        }
+        if (Input.GetMouseButtonDown(1))
+        {
+            int index = Random.Range(0, _mBrgRenderBasic.m_gameObjectInfos.Count);
+            _mBrgRenderBasic.RemoveBGRGameObjectInfo(index);
+        }
         _mBrgRenderBasic.UpdatePos();
     }
 }

+ 5 - 5
Assets/Scripts/Core/BRG/BatchShaderBind.cs

@@ -54,22 +54,22 @@ namespace Core.BRG
         {
             _f1Buffer[index] = data;
         }
-        public void SetData(GraphicsBuffer graphicsBuffer)
+        public void SetData(GraphicsBuffer graphicsBuffer,int maxCount)
         {
             // IitBuffer(graphicsBuffer.count);
             switch (shaderValue.ValueType)
             {
                 case BRGShaderValueType.F4X4:
-                    graphicsBuffer.SetData(_f4x4Buffer, 0, offset / _size, _count);
+                    graphicsBuffer.SetData(_f4x4Buffer, 0, offset / _size, maxCount);
                     break;
                 case BRGShaderValueType.F3X4:
-                    graphicsBuffer.SetData(_f3x4Buffer, 0, offset / _size, _count);
+                    graphicsBuffer.SetData(_f3x4Buffer, 0, offset / _size, maxCount);
                     break;
                 case BRGShaderValueType.F4:
-                    graphicsBuffer.SetData(_f4Buffer, 0, offset / _size, _count);
+                    graphicsBuffer.SetData(_f4Buffer, 0, offset / _size, maxCount);
                     break;
                 case BRGShaderValueType.F1:
-                    graphicsBuffer.SetData(_f1Buffer, 0, offset / _size, graphicsBuffer.count);
+                    graphicsBuffer.SetData(_f1Buffer, 0, offset / _size, maxCount);
                     break;
             }
         }

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


+ 9 - 9
UserSettings/EditorUserSettings.asset

@@ -21,34 +21,34 @@ EditorUserSettings:
       value: 184c
       flags: 0
     RecentlyUsedSceneGuid-0:
-      value: 50030c5e500c58580e5d5c71457a0e44124f4d78292e7434787b1e36b2b4323a
+      value: 53520353570c0b5d0c5a0d2141755e44104e4a297d7c7762792d4a61bbb6613c
       flags: 0
     RecentlyUsedSceneGuid-1:
-      value: 53520353570c0b5d0c5a0d2141755e44104e4a297d7c7762792d4a61bbb6613c
+      value: 525456020100515e5d5f087145710844404f1c797d2e7262752d4b67b0b6373e
       flags: 0
     RecentlyUsedSceneGuid-2:
-      value: 525456020100515e5d5f087145710844404f1c797d2e7262752d4b67b0b6373e
+      value: 060255045d5150585957587212750944444f412c2e7c20342c7b4c67e3b26d60
       flags: 0
     RecentlyUsedSceneGuid-3:
-      value: 060255045d5150585957587212750944444f412c2e7c20342c7b4c67e3b26d60
+      value: 545007550304585a545d5e76157b0844454f1b7a2d2c7666782f4961b7b9623b
       flags: 0
     RecentlyUsedSceneGuid-4:
-      value: 545007550304585a545d5e76157b0844454f1b7a2d2c7666782f4961b7b9623b
+      value: 0002065506010b09555d0e7a12750a4443151a297a2e70317d7d4d6be1e1616f
       flags: 0
     RecentlyUsedSceneGuid-5:
-      value: 0002065506010b09555d0e7a12750a4443151a297a2e70317d7d4d6be1e1616f
+      value: 5009075552535a5d5b565c2446260844401548287a7d743674704963e1e1673c
       flags: 0
     RecentlyUsedSceneGuid-6:
-      value: 5009075552535a5d5b565c2446260844401548287a7d743674704963e1e1673c
+      value: 540803075206595a085d5c7241260e4415164b722a2922647d2a4a62e6b3676c
       flags: 0
     RecentlyUsedSceneGuid-7:
-      value: 540803075206595a085d5c7241260e4415164b722a2922647d2a4a62e6b3676c
+      value: 52570c02000d5e025a58597212725c4440161c2e797a75607f2c4467b7b3323e
       flags: 0
     RecentlyUsedSceneGuid-8:
       value: 5753045f5d005b5f0b0a082315715d44464e4b7b797125622e284430bbe66d68
       flags: 0
     RecentlyUsedSceneGuid-9:
-      value: 52570c02000d5e025a58597212725c4440161c2e797a75607f2c4467b7b3323e
+      value: 5650035003045b5e5a0a082141265944464f4f7f2e7b233629714831e0e6636c
       flags: 0
     Systems Window:
       value: 183b144645154b7802000a2b17364d11021e17246e72662b47695d73a2a07478a2a505e1e82d6f2f100cca3210371526d1051c05e22a040f2507f00b32f01c061ccb5a9f5ace1e10d81c50a48d5d91a3959694aa9ad8efd7c9f2afe0f1c0fcfdf6f8b6f2a5a6dacfb89debbfa1cbc9c3f5c3bac18e9c89c1bbdec2d6f2b992939996c59699c79ae8d182b7baad82aba0b0aea88398abdbf1dd8a8ea765ffc520262728fafcf8f6c28eb162945c71898d6167877a72a980809c9f71cecece859d579fd5f106dbdadb21de0dde237c686c76706641634c764f547c624a7e622d6628286620686f653d2b635a0204003e0805017509093043470e3643041c5d5b415c54450e1c424b420f6e4b634e636263696655641a1f273c0f083c1102ec362de62318e9ea25ab61ade8ed0ee30655b0b6b7b8176615

Деякі файли не було показано, через те що забагато файлів було змінено