jit.gl.environment
Manage environment textures for image-based lighting (IBL)
Description
The jit.gl.environment object utilizes internal jit.gl.cubemap and jit.openexr objects for loading and uploading equirectangular exr environment maps. Once loaded the data is converted as needed and passed to requesting objects. Environments are bound to jit.gl.node sub-contexts, and only a single environment can be active in the sub-context at a time.
Discussion
Supporting objects include:
jit.gl.pbr
jit.gl.material
jit.gl.skybox
When used with PBR, irradiance and reflection maps are generated for IBL effects.
The object will process cubemaps based on requests from the supporting objects. The cubemap will either be stored internally, if loaded via or messages, or external as the result of a message.
Attributes
adapt[int]
Adapt the internal cubemap to input file dimensions on load (default = 1). Only effective when the internal cubemap is in use. When enabled edge_length has no effect.
drawto[symbol]
The named context or sub-context drawing destination. When set, any supporting objects in the same (sub)context will have access to this envirnoment.
edge_length[int]
Set length of the cubemap edge (default = 64). Only effective when adapt is disabled and the internal cubemap is in use.
enable[int]
Enable the environment map for access by supporting objects in the same (sub)context (default = 1). Only a single envirnoment map can be active at a time, see the
message for a convenient way to switch between enabled envirnoment maps.
file[symbol]
Set an image file to read with the internal cubemap for envirnoment map processing.
gamma_correction[int]
Enable gamma correction on the input (default = 1). Only effective when the internal cubemap is in use. Changing this value requires a re-load of the input file to have an effect.
name[symbol]
read-only
Environment map name
reflect_edge[int]
Set the length of the generated reflection map edge (default = 128). Higher values improve the resolution and perceived quality of PBR reflections (most notably on flat surfaces), at the expense of longer loading time and greater GPU memory usage. Changing this value causes the reflection map to regenerate, which will stall the renderer.
Common Box Attributes
annotation[symbol]
Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.
background[int]: 0
Adds or removes the object from the patcher's background layer.
adds the object to the background layer, removes it. Objects in the background layer are shown behind all objects in the default foreground layer.
color[4 floats]
Sets the color for the object box outline.
fontface[int]
Sets the type style used by the object. The options are:
plain
bold
italic
bold italic
Possible values:
0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'
fontname[symbol]
Sets the object's font.
fontsize[float]
Sets the object's font size (in points).
Possible values:
'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'
hint[symbol]
Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.
ignoreclick[int]: 0
Toggles whether an object ignores mouse clicks in a locked patcher.
jspainterfile[symbol]
You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.
patching_rect[4 floats]: 0. 0. 100. 0.
Sets the position and size of the object in the patcher window.
position[2 floats]
write-only
Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.
presentation[int]: 0
Sets whether an object belongs to the patcher's presentation.
presentation_rect[4 floats]: 0. 0. 0. 0.
Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.
rect[4 floats]
write-only
Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).
size[2 floats]
write-only
Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.
textcolor[4 floats]
Sets the color for the object's text in RGBA format.
textjustification[int]
Sets the justification for the object's text.
Possible values:
0 = 'left'
1 = 'center'
2 = 'right'
varname[symbol]
Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.
Messages
bang
Output the cubemap texture name
(drag)
Drag and drop image files for envirnoment map processing
activate
In contexts where multiple enironments are enabled, only a single environment can be active at a time. This message tells the context to make this environment the active one. The enable attribute must be on to make active.
jit_gl_texture
Upload the named texture data to the cubemap for envirnoment map processing
read
Read in an image file for envirnoment map processing
See Also
Name | Description |
---|---|
jit.gl.pbr | |
jit.gl.material | Generate materials for 3D objects |
jit.gl.cubemap | Manage a cubemap texture target |
jit.gl.skybox | Render a skybox in OpenGL |
jit.gl.texture | Create OpenGL textures |
jit.openexr | Read or write an OpenEXR image. |