Pārlūkot izejas kodu

Bump rasterizer, faster text loading

bkerbl 2 gadi atpakaļ
vecāks
revīzija
ea68bdf29c
2 mainītis faili ar 21 papildinājumiem un 9 dzēšanām
  1. 20 8
      scene/colmap_loader.py
  2. 1 1
      submodules/diff-gaussian-rasterization

+ 20 - 8
scene/colmap_loader.py

@@ -89,6 +89,21 @@ def read_points3D_text(path):
     xyzs = None
     rgbs = None
     errors = None
+    num_points = 0
+    with open(path, "r") as fid:
+        while True:
+            line = fid.readline()
+            if not line:
+                break
+            line = line.strip()
+            if len(line) > 0 and line[0] != "#":
+                num_points += 1
+
+
+    xyzs = np.empty((num_points, 3))
+    rgbs = np.empty((num_points, 3))
+    errors = np.empty((num_points, 1))
+    count = 0
     with open(path, "r") as fid:
         while True:
             line = fid.readline()
@@ -100,14 +115,11 @@ def read_points3D_text(path):
                 xyz = np.array(tuple(map(float, elems[1:4])))
                 rgb = np.array(tuple(map(int, elems[4:7])))
                 error = np.array(float(elems[7]))
-                if xyzs is None:
-                    xyzs = xyz[None, ...]
-                    rgbs = rgb[None, ...]
-                    errors = error[None, ...]
-                else:
-                    xyzs = np.append(xyzs, xyz[None, ...], axis=0)
-                    rgbs = np.append(rgbs, rgb[None, ...], axis=0)
-                    errors = np.append(errors, error[None, ...], axis=0)
+                xyzs[count] = xyz
+                rgbs[count] = rgb
+                errors[count] = error
+                count += 1
+
     return xyzs, rgbs, errors
 
 def read_points3D_binary(path_to_model_file):

+ 1 - 1
submodules/diff-gaussian-rasterization

@@ -1 +1 @@
-Subproject commit 8064f52ca233942bdec2d1a1451c026deedd320b
+Subproject commit 59f5f77e3ddbac3ed9db93ec2cfe99ed6c5d121d