Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
2f5618e
Add Record Track (COLMAP) node to nosTrack plugin
shamilatesoglu Mar 31, 2026
803bab5
Add Playback Track (COLMAP) node, rename pins, use NodeContext helpers
shamilatesoglu Apr 1, 2026
e3af902
Backport MultiLiveOut node to 1.3
shamilatesoglu Apr 3, 2026
a797fb8
Add RecordingFrame for track record node
shamilatesoglu Apr 3, 2026
8d19bd3
Fix crash when invoking OpenFolder function in PlaybackTrackCOLMAP node
shamilatesoglu Apr 3, 2026
6d1c7d2
RecordTrackCOLMAP node should always execute
shamilatesoglu Apr 8, 2026
e89c723
Remove sequential playback mode from PlaybackTrackCOLMAP, keep manual…
shamilatesoglu Apr 9, 2026
6f537b0
Bump nos.sys.track version
shamilatesoglu Apr 9, 2026
8b13957
Replace EulerOrder with CoordinateSystem from nos.sys.track
shamilatesoglu Apr 9, 2026
3731d87
Multi Ring/Queue
shamilatesoglu Apr 28, 2026
3d10d10
Multi Ring/Queue: Use batch pushing instead of subsequent locks
shamilatesoglu Apr 28, 2026
73a9881
Add timecode based indexing to playback track node
shamilatesoglu Apr 29, 2026
eb36d50
Dynamically add multiple pins to Sink node
shamilatesoglu Apr 29, 2026
ec08c01
Do not pile up schedule requests in multi-ring buffer
shamilatesoglu Apr 29, 2026
246f304
RecordTrackCOLMAP: Disable function orphan toggling to avoid path rec…
shamilatesoglu Apr 29, 2026
f3e8f6a
Auto-export COLMAP files when RecordTrackCOLMAP stops
shamilatesoglu May 5, 2026
28fe3bc
MultiBoundedQueue: Propagate slot descriptor to output pin in CopyFrom
shamilatesoglu May 5, 2026
f76e468
Pin-driven RecordTrackCOLMAP and extended track field capture
shamilatesoglu May 5, 2026
d615a65
ChannelViewer: Use nos.mediaio.ColorSpace instead of own enum
shamilatesoglu May 7, 2026
e644526
nosMath: Add EulerToQuaternion and QuaternionToEuler nodes
shamilatesoglu May 7, 2026
bfe76da
nosTrack: Record fixed-step delta seconds in COLMAP timecode sidecar
shamilatesoglu May 7, 2026
cf5b65c
Add QuaternionMultiply node
shamilatesoglu May 8, 2026
7439287
Add Track modifier node and make recorder nodes respect COLMAP quat f…
shamilatesoglu May 8, 2026
2bea822
Reorder pins in Track playback/record nodes
shamilatesoglu May 12, 2026
2e21bbb
Add depth-of-field filter nodes
shamilatesoglu May 18, 2026
187675d
Bump nos.filters to 1.8.0
shamilatesoglu May 18, 2026
17a5edc
Add BokehDof and BokehShape nodes
shamilatesoglu May 18, 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
121 changes: 121 additions & 0 deletions Plugins/nosFilters/Config/BokehDof.nosdef
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
{
"nodes": [
{
"class_name": "BokehDof",
"menu_info": {
"category": "Filters",
"display_name": "Bokeh DoF"
},
"node": {
"class_name": "BokehDof",
"name": "Bokeh DoF",
"description": "Single-pass 2D depth-of-field. CoC is computed from a linear view-space Z input; samples are gathered on a Vogel disc weighted by the BokehShape kernel texture, so bokeh takes the shape painted into BokehShape.",
"contents_type": "Job",
"contents": {
"type": "nos.sys.vulkan.GPUNode",
"options": {
"shader": "Shaders/BokehDof.frag"
}
},
"pins": [
{
"name": "Input",
"type_name": "nos.sys.vulkan.Texture",
"show_as": "INPUT_PIN",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": {
"filtering": "LINEAR"
}
},
{
"name": "Depth",
"type_name": "nos.sys.vulkan.Texture",
"show_as": "INPUT_PIN",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": {
"filtering": "NEAREST"
}
},
{
"name": "BokehShape",
"type_name": "nos.sys.vulkan.Texture",
"show_as": "INPUT_PIN",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": {
"filtering": "LINEAR"
}
},
{
"name": "FocusDistance",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 5.0,
"min": 0.0,
"max": 1000.0
},
{
"name": "FocusRange",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 2.0,
"min": 0.01,
"max": 1000.0
},
{
"name": "MaxRadius",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 16.0,
"min": 0.0,
"max": 128.0
},
{
"name": "MinRadius",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 0.5,
"min": 0.0,
"max": 8.0
},
{
"name": "BackgroundIsFar",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 1.0,
"min": 0.0,
"max": 1.0
},
{
"name": "SampleCount",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 48.0,
"min": 4.0,
"max": 256.0
},
{
"name": "KernelRotation",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 0.0,
"min": -6.2832,
"max": 6.2832
},
{
"name": "Output",
"type_name": "nos.sys.vulkan.Texture",
"show_as": "OUTPUT_PIN",
"can_show_as": "OUTPUT_PIN_OR_PROPERTY"
}
]
}
}
]
}
93 changes: 93 additions & 0 deletions Plugins/nosFilters/Config/BokehShape.nosdef
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
{
"nodes": [
{
"class_name": "BokehShape",
"menu_info": {
"category": "Filters",
"display_name": "Bokeh Shape"
},
"node": {
"class_name": "BokehShape",
"name": "Bokeh Shape",
"description": "Procedural bokeh kernel generator. Produces a unit-disc grayscale mask shaped like a regular polygon aperture (blade count, roundness, rotation), with soft edge and optional rim brightening. Feed the Output into a Bokeh DoF node's BokehShape pin.",
"contents_type": "Job",
"contents": {
"type": "nos.sys.vulkan.GPUNode",
"options": {
"shader": "Shaders/BokehShape.frag"
}
},
"pins": [
{
"name": "BladeCount",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 6.0,
"min": 0.0,
"max": 16.0
},
{
"name": "Roundness",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 0.3,
"min": 0.0,
"max": 1.0
},
{
"name": "Rotation",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 0.0,
"min": -6.2832,
"max": 6.2832
},
{
"name": "EdgeSoftness",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 0.04,
"min": 0.0,
"max": 0.5
},
{
"name": "RimBoost",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 0.0,
"min": 0.0,
"max": 4.0
},
{
"name": "RimWidth",
"type_name": "float",
"show_as": "PROPERTY",
"can_show_as": "INPUT_PIN_OR_PROPERTY",
"data": 0.08,
"min": 0.005,
"max": 0.5
},
{
"name": "Output",
"type_name": "nos.sys.vulkan.Texture",
"show_as": "OUTPUT_PIN",
"can_show_as": "OUTPUT_PIN_OR_PROPERTY",
"data": {
"resolution": "CUSTOM",
"width": 128,
"height": 128,
"format": "R16_UNORM",
"usage": "TRANSFER_SRC TRANSFER_DST SAMPLED STORAGE RENDER_TARGET",
"filtering": "LINEAR"
}
}
]
}
}
]
}
Loading