Normal

This function transforms a normal from one space to another. It will give the same results as Transform::Vector except the resulting vector will be normalized.

Syntax

Parameters

Returns

Returns the transformed normal.

Example

--Create a window
window = Window:Create()
context = Context:Create(window)
world = World:Create()
local camera = Camera:Create()
camera:Move(0,0,-3)
local light = DirectionalLight:Create()
light:SetRotation(35,35,0)

--Create a model
model = Model:Box()
model:SetColor(0.0,0.0,1.0)
model:SetRotation(0,180,0)
model:SetScale(2)

while true do
if window:Closed() or window:KeyHit(Key.Escape) then return false end

Time:Update()
world:Update()
world:Render()

--We're going to transform the normal (1,0,0) from global space to the model's local space
--Because the model is rotated to (0,180,0) and scaled to (2,2,2) the normal will be at (-1,0,0) in local space (relative to the model).
local v = Transform:Normal(1,0,0,nil,model)

context:SetBlendMode(Blend.Alpha)
context:DrawText(v:ToString(),2,2)
context:SetBlendMode(Blend.Solid)

context:Sync()

end