本文整理汇总了C#中Scene.AddLight方法的典型用法代码示例。如果您正苦于以下问题:C# Scene.AddLight方法的具体用法?C# Scene.AddLight怎么用?C# Scene.AddLight使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Scene
的用法示例。
在下文中一共展示了Scene.AddLight方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateScene3
private static Scene CreateScene3()
{
Size resolution = new Size(640, 480);
Point3D position = new Point3D(0, 0, 5000);
double focus = 1000;
SizeF projectionWindow = new SizeF(200, 150);
Rotation rotation = new Rotation(-Math.PI * 0.25, 0, -Math.PI / 2.3);
PerspectiveCamera camera = new PerspectiveCamera(position, rotation, projectionWindow, resolution, focus);
Scene scene = new Scene();
scene.Camera = camera;
scene.InfinityColor = Color.Black;
Material mS1 = new Material(Color.Green, 0.3, 0.3, 0.6, 0, 5);
Material mS2 = new Material(Color.Red, 0.4, 0.4, 0, 0.4, 5);
Material mS3 = new Material(Color.Yellow, 0.4, 0.3, 0.5, 0, 5);
Material mS4 = new Material(Color.BlueViolet, 0.4, 0.3, 0.4, 0, 5);
Material mC1 = new Material(Color.Black, 0.3, 0.3, 0.4, 0, 5);
Material mC2 = new Material(Color.White, 0.3, 0.3, 0.4, 0, 5);
Carpet carpet = new Carpet(new Point3D(0, 0, 0), new SizeF(5000, 5000), new Size(50, 50), mC1, mC2);
double r = 100;
double h = 2 * r * 0.866;
double x = -h * 0.66 * 0.7;
//шары в форме пирамиды
Sphere sphere1 = new Sphere(new Point3D(x, x, r), r, mS1);
Sphere sphere2 = new Sphere(new Point3D(x + h * 0.7 - r * 0.7, x + h * 0.7 + r * 0.7, r), r, mS2);
Sphere sphere3 = new Sphere(new Point3D(x + h * 0.7 + r * 0.7, x + h * 0.7 - r * 0.7, r), r, mS3);
Sphere sphere4 = new Sphere(new Point3D(x + h * 0.7 * 0.66, x + h * 0.7 * 0.66, 2.5 * r), r, mS4);
scene.AddGraphicsObject(carpet);
scene.AddGraphicsObject(sphere1);
scene.AddGraphicsObject(sphere2);
scene.AddGraphicsObject(sphere3);
scene.AddGraphicsObject(sphere4);
Light L1 = new Light(new Point3D(0, 0, 2000), Color.White);
Light L2 = new Light(new Point3D(0, 2000, 3000), Color.White);
Light L3 = new Light(new Point3D(2000, 0, 3000), Color.White);
Light L4 = new Light(new Point3D(0, -2000, 3000), Color.White);
Light L5 = new Light(new Point3D(-2000, 0, 3000), Color.White);
//scene.AddLight(L1);
scene.AddLight(L2);
scene.AddLight(L3);
scene.AddLight(L4);
scene.AddLight(L5);
return scene;
}
示例2: Initialize
protected override void Initialize()
{
base.Initialize();
main_ui = new MainUI(this);
main_ui.Initialize();
scene = new Scene(this, 0, "test");
Scm.AddScene(scene);
Scm.SetActiveScene(scene);
/*
Vector3 camera_position = new Vector3(0, 10, 51);
Vector3 camera_target = camera_position + Vector3.Forward;
Camera cam = new Camera();
cam.Initialize();
cam.Fov = MathHelper.PiOver4;
scene.ActiveCamera = cam;
*/
camera = new Camera(this);
scene.ActiveCamera = camera;
//camera_ctrl = new FpsCameraController(this);
//cam.AttachController(camera_ctrl);
//camera_ctrl.Enabled = true;
//////////////////////////////////////////////////////////////////////////
Axis axis = new Axis(this);
axis.Initialize();
scene.AddEntity(axis);
axis.Pose.SetScale(10, 10, 10);
////////////////////////////////��������ķָ���//////////////////////////////////////////
Terrain terrain = new Terrain(this, "Textures\\flat_map", null);
terrain.Initialize();
scene.AddEntity(terrain);
camera.Target = new Vector3(terrain.WidthInPixel / 2.0f, 0, -terrain.HeightInPixel / 2.0f);
//camera.Target = new Vector3(0, 0, 0);
//////////////////////////////////////////////////////////////////////////
//Quad s1 = new Quad(this);
//s1.Initialize();
//scene.AddEntity(s1);
//s1.Pose.SetPosition(0, 0, 0);
//s1.Pose.SetScale(4, 4, 1);
//////////////////////////////////////////////////////////////////////////
//Avatar a1 = new Avatar(this, "Models\\p1_wedge");
//a1.Initialize();
//scene.AddEntity(a1);
//a1.pose.SetPosition(10, 20, -10);
//a1.pose.SetScale(0.01f, 0.01f, 0.01f);
//////////////////////////////////////////////////////////////////////////
Light l1 = new Light(this, new Vector3(0.0f, 1.0f, 0.0f), new Vector3(1.0f, -1.0f, -1.0f));
scene.AddLight(l1);
//////////////////////////////////////////////////////////////////////////
Box b1 = new Box(this);
b1.Initialize();
b1.SetScale(10.0f, 10.0f, 10.0f);
b1.SetPosition(100, 10, -100);
scene.AddEntity(b1);
Box b2 = new Box(this);
b2.Initialize();
b2.SetScale(10, 10, 10);
b2.SetPosition(150, 10, -150);
scene.AddEntity(b2);
//////////////////////////////////////////////////////////////////////////
float bx = 200;
float by = 20;
float bz = -200;
// Sphere s1 = new Sphere(this);
// s1.Initialize();
// s1.SetScale(10, 10, 10);
// s1.SetPosition(bx + 0.0442591f, by + 0.017970f, bz + 0.045182f);
// s1.ModelFile = "Models\\SphereLowPoly";
// scene.AddEntity(s1);
Axis a1 = new Axis(this);
a1.Initialize();
a1.SetScale(10, 10, 10);
Matrix rot = new Matrix();
rot.M11 = 9.9994452992e-001f; rot.M12 = 2.8077475493e-003f; rot.M13 = 1.0151533926e-002f;
rot.M21 = -2.8522679263e-003f; rot.M22 = 9.9998636727e-001f; rot.M23 = 4.3737664750e-003f;
rot.M31 = -1.0139115101e-002f; rot.M32 = -4.4024787564e-003f; rot.M33 = 9.9993890640e-001f;
a1.SetRotation(rot);
a1.SetPosition(bx + 0.0442591f, by + 0.017970f, bz + 0.045182f);
scene.AddEntity(a1);
//Sphere s2 = new Sphere(this);
//s2.Initialize();
//s2.SetScale(10, 10, 10);
//.........这里部分代码省略.........