Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
4309ea9
first commit
NhatMinh2208 Jan 6, 2026
6520f74
add SeeSharp.Blender project to .sln
pgrit Jan 6, 2026
33dcad9
using ComputeVisualizerColor()
NhatMinh2208 Jan 13, 2026
564cd15
fix extension building
NhatMinh2208 Jan 13, 2026
1ef6806
fixing material, mesh import function + modify cornell json file
NhatMinh2208 Jan 13, 2026
f9c75eb
reorganize the examples
pgrit Jan 15, 2026
32de801
fix links
pgrit Jan 15, 2026
84a99e9
support obj, fix material
NhatMinh2208 Jan 18, 2026
20c1a18
keep up to date with upstream
NhatMinh2208 Jan 18, 2026
1a70efa
fix the merge in Import.cs
NhatMinh2208 Jan 18, 2026
7ed6ee7
add json serialization support for PathGraphNode
NhatMinh2208 Jan 20, 2026
409d5fc
refactor PathGraph
NhatMinh2208 Jan 20, 2026
b6e78fb
fix css loading issue
pgrit Jan 26, 2026
6808f42
importer: support obj, transformation matrix, baked emission
NhatMinh2208 Jan 27, 2026
3c1b292
add convertWorld to support envmap for importer
NhatMinh2208 Feb 1, 2026
4b0a25d
Importer: sp transmission, obj with mtl
NhatMinh2208 Feb 3, 2026
d4c9aed
Importer: fix ply importer to support UV per vertex
NhatMinh2208 Feb 4, 2026
82d789e
export baked camera transformation for proper convention
NhatMinh2208 Feb 6, 2026
0bb3bb1
Importer: modify ply loader
NhatMinh2208 Feb 9, 2026
2d9c6af
PLY importer: correct header reader
NhatMinh2208 Feb 12, 2026
1650646
remove comments in exporter/importer
NhatMinh2208 Feb 18, 2026
6deca82
Importer: fix .ply name reader
NhatMinh2208 Feb 23, 2026
eddd648
Assure staying in OBJECT MODE before import new scene
NhatMinh2208 Feb 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# User specific editor and IDE configurations
.vs
launchSettings.json
!SeeSharp.Templates/content/SeeSharp.Blazor.Template/Properties/launchSettings.json
.idea
SeeSharp.sln.DotSettings.user

Expand Down
4 changes: 3 additions & 1 deletion BlenderExtension/see_blender/__init__.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
from . import exporter, render_engine, material_ui, material, world
from . import exporter, render_engine, material_ui, material, world, importer

def register():
exporter.register()
render_engine.register()
material_ui.register()
material.register()
world.register()
importer.register()

def unregister():
exporter.unregister()
render_engine.unregister()
material_ui.unregister()
material.unregister()
world.unregister()
importer.unregister()
30 changes: 16 additions & 14 deletions BlenderExtension/see_blender/exporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,8 @@ def material_to_json(material, out_dir):
material.emission_color[1] * material.emission_strength,
material.emission_color[2] * material.emission_strength
)),
"emission_color": map_rgb(material.emission_color),
"emission_strength": material.emission_strength,
"emissionIsGlossy": material.emission_is_glossy,
"emissionExponent": material.emission_glossy_exponent
}
Expand Down Expand Up @@ -179,23 +181,23 @@ def export_camera(result, scene):
return

aspect_ratio = scene.render.resolution_y / scene.render.resolution_x
blend_cam2world = camera.matrix_world.copy()
blend_world2see_world = axis_conversion(
to_forward="Z",
to_up="Y",
).to_4x4()
def matrix_to_row_major_list(m):
return [
m[0][0], m[0][1], m[0][2], m[0][3],
m[1][0], m[1][1], m[1][2], m[1][3],
m[2][0], m[2][1], m[2][2], m[2][3],
m[3][0], m[3][1], m[3][2], m[3][3],
]

result["transforms"] = [
{
"name": "camera",
"position": [
-camera.location.x,
camera.location.z,
camera.location.y
],
# At (0,0,0) rotation, the Blender camera faces towards negative z, with positive y pointing up
# We account for this extra rotation here, because we want it to face _our_ negative z with _our_
# y axis pointing upwards instead.
"rotation": [
degrees(camera.rotation_euler.x) - 90,
degrees(camera.rotation_euler.z) + 180,
degrees(camera.rotation_euler.y)
],
"scale": [ 1.0, 1.0, 1.0 ]
"matrix": matrix_to_row_major_list((blend_world2see_world @ blend_cam2world).transposed())
}
]

Expand Down
Loading