Skip to content

Commit

Permalink
Readme
Browse files Browse the repository at this point in the history
  • Loading branch information
ksprugevics committed Oct 12, 2023
1 parent d5ad254 commit 2d36944
Show file tree
Hide file tree
Showing 6 changed files with 224 additions and 108 deletions.
48 changes: 48 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Godot point cloud viewer

<p align="center">
<img src="icon.svg" alt="Logo" width="200"/>
<p>


This application can render 3D point clouds with label support, and you can inspect them (fly around) in first person. Currently the release works only on windows machines. You can try compiling the project yourself on your desired OS.

### Features

+ Render 3D labeled or unlabeled pointclouds (I have not properly limit tested it, but it can run a 500k pointcloud with no issues. Reading the file can take some time, depending on the size of the pointcloud file ~500k labeled points ~20 seconds)
+ Explore the pointcloud in first person, change basic control parameters - speed, sensitivity, boost
+ Change the look of the pointcloud - change each label color, their corresponding point sizes. Change the background color
+ Some basic display settings e.g. FOV, fullscreen

### How to use

1. Download the latest release
2. Prepare your pointcloud file
2.1. File extension should be *.txt*
2.2. Points should be seperated by a new line
2.3. Each line should be in the following format:
*x,y,z,label(optional)*
- You can choose what seperator you use, but it has to be one symbol - cannot be *comma* + *space* as it's two symbols (also tab currently doesn't work)
- label is optional
- *z* corresponds to height
3. Open the application, select your pointcloud file
4. Basic controls are shown on the screen, settings can be found by pressing the ESC button

### Future work
I don't plan on spending a lot of time on this project, but some features that I still would like to implement:
+ Built in animations (orbit) for easy video recording
+ Proper handling of seperators (currently can be buggy)
+ Writting a custom shader - currently the points are really 2D squares. Also could probably get some more performance out of this
+ Adding some template pointclouds

### Some screenshots

Menu screen:
<p align="center">
<img src="Screenshots/menu.jpg" alt="menu" width="800"/>
<p>

View + settings:
<p align="center">
<img src="Screenshots/view.jpg" alt="view" width="800"/>
<p>
Binary file added Screenshots/menu.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 34 additions & 0 deletions Screenshots/menu.jpg.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://dam7n3xmh8wpq"
path="res://.godot/imported/menu.jpg-f92ca526e9701af5b008764e68d22e78.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://Screenshots/menu.jpg"
dest_files=["res://.godot/imported/menu.jpg-f92ca526e9701af5b008764e68d22e78.ctex"]

[params]

compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file added Screenshots/view.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 34 additions & 0 deletions Screenshots/view.jpg.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://hxkiky6b17p5"
path="res://.godot/imported/view.jpg-d592228f2e45afc2b5225c1341645b15.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://Screenshots/view.jpg"
dest_files=["res://.godot/imported/view.jpg-d592228f2e45afc2b5225c1341645b15.ctex"]

[params]

compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
216 changes: 108 additions & 108 deletions Themes/menu_theme.tres

Large diffs are not rendered by default.

0 comments on commit 2d36944

Please sign in to comment.