| 要約: |
|
| 例: シーンの作成 | |
![]() | |
{import * from CURL.GRAPHICS.SCENE}
{import * from CURL.PGUIDE.SCENEUTILS,
location = "../../default/support/SceneUtils.scurl"}
{paragraph x axis is red, y axis is green, z axis is blue}
{value
let scene:Scene = {Scene}
let camera:Camera = scene.camera
let camera-target:Distance3d = {Distance3d 0ft, 0ft, 0ft}
let camera-position:Distance3d = {Distance3d 5ft, -3ft, 5ft}
let camera-direction:Direction3d =
{(camera-target - camera-position).direction}
let up:Direction3d = {Direction3d 0, 0, 1}
{camera.set-orientation-and-position
camera-direction, up, position = camera-position}
set camera.projection = Projection.perspective
set camera.near-clipping-plane = 1in
set camera.far-clipping-plane = 20ft
set camera.field-of-view = 90degrees
{scene.add-object {make-axis-object 1m}}
let scene-graphic:SceneGraphic =
{SceneGraphic
scene,
width=4in,
height=4in,
background = {FillPattern.get-black}
}
let reset-camera:CommandButton =
{CommandButton
label = "Reset Camera",
{on Action at b:CommandButton do
{camera.set-orientation-and-position
camera-direction, up, position = camera-position}
{scene-graphic.update-drawable}
}
}
{VBox
scene-graphic,
reset-camera
}
}
|
| 例: Text が正しく Scene をカバーしていない例 | |
![]() | |
{import * from CURL.GRAPHICS.SCENE}
{value
let canvas =
{Canvas width = 8cm, height = 7cm, background = "#e0e0e0"}
{canvas.add
x = 3cm,
y = 1cm,
{value
{let sc: Scene = {Scene}}
{sc.add-object
{Triangle
{Distance3d 2cm, 2cm, 0cm},
{Distance3d 8cm, 4cm, 0cm},
{Distance3d 4cm, 8cm, 0in},
fill-pattern = {FillPattern.get-blue}}
}
{SceneGraphic
||-- occlusion-performance-mode =
||-- OcclusionPerformanceMode.accurate-occlusion,
width = 5cm,
height = 5cm,
sc
}
}
}
{canvas.add
x = 0cm,
y = 3cm,
{Frame
background = "red",
{text font-size = 18pt, Should Cover Scene}
}
}
canvas
}
|