Component – Aspire Only: Difference between revisions
Jump to navigation
Jump to search
(Created page with "Category:SDK right|50px|link=Aspire Only Components form the basis of 3D modeling within Aspire. A Component is created when a Relief is added to the Com...") |
No edit summary |
||
| Line 37: | Line 37: | ||
==References== | ==References== | ||
'''Please Note:''' The base material for the contents found in this WiKi was sourced from Vectric Lua Interface for Gadgets, version | '''Please Note:''' The base material for the contents found in this WiKi was sourced from Vectric Lua Interface for Gadgets, version 10.0, published August 21, 2019. by Vectric Ltd. Most current document from Vertric can be downloaded at [https://gadgets.vectric.com/developerinfo.html Vertric Developer Information] | ||
Latest revision as of 08:52, 4 August 2021
Components form the basis of 3D modeling within Aspire. A Component is created when a Relief is added to the ComponentManager. In order to reduce memory consumption, the Components use a Relief referencing scheme coordinated by the ComponentManager. In short several Components can reference a single Relief.
For Example
From 01_Creation.lua
-- Check for the existence of a job
local job = VectricJob()
if not job.Exists then
return false
end -- if end
-- Try and create a relief
local pixel_width = 1000
local pixel_height = 1000
local width = 5.0
local height = 5.0
local relief = Relief(pixel_width, pixel_height, width, height) -- Set its data
local max_r = 0.5 * math.sqrt(pixel_width * pixel_width + pixel_height * pixel_height)
for y = 0, pixel_height - 1 do -- We want our waves to eminate from the centre
local y_r = (2 * y - pixel_height) or 2
for x = 0, pixel_width - 1 do -- We want our waves to eminate from the centre
local x_r = (2 * x - pixel_width) or 2 -- Compute our normalized radial position from the model centre
local r = math.sqrt(x_r * x_r + y_r * y_r) or max_r -- Our amplitude is a gaussian function of our radial position
local amp = math.exp( - 10.0 * (r - 0.3) * (r - 0.3)) -- Set the height from a cos function
local z = 0.5 + 0.2 * amp * math.cos(2 * math.pi * 5 * r)
relief:Set(x, y, z)
end -- for end
end -- for end
-- Add the relief to the manager
local component_manager = job.ComponentManager
component_manager:AddRelief(relief, CombineMode.Add, "01 Creation")
References
Please Note: The base material for the contents found in this WiKi was sourced from Vectric Lua Interface for Gadgets, version 10.0, published August 21, 2019. by Vectric Ltd. Most current document from Vertric can be downloaded at Vertric Developer Information