protected override void CreateRenderLight() { CAmbientLight ambLight = new CAmbientLight(); ambLight.LightColor = LightColor; m_renderLight = ambLight; }
public void EditorThread_CreateScene(IRenderSurface renderSurface, EInputClass cameraInputClass) { IsCreated = true; OnEngineThread(() => { Input.RegisterListener(EngineThread_OnInputEvent, cameraInputClass); // Create a new renderer scene with our viewport SSceneViewInfo viewInfo = new SSceneViewInfo(); viewInfo.Fov = FieldOfView; viewInfo.ScreenFar = ScreenFar; viewInfo.ScreenNear = ScreenNear; viewInfo.FitProjectionToScene = true; viewInfo.ViewMatrix = Matrix.Invert(m_cameraTransform.WorldMatrix); viewInfo.ViewLocation = m_cameraTransform.Position; viewInfo.CreateBoundingFrustum(); m_renderScene = CRenderer.Instance.CreateRenderScene(renderSurface); if (m_renderScene != null) { m_renderScene.OnDoFrame += EngineThread_Update; m_renderScene.UpdateViewInfo(in viewInfo); m_ambientLight = new CAmbientLight(); m_ambientLight.LightColor = Vector4.One * 0.2f; m_directionalLight = new CDirectionalLight(); m_directionalLight.LightDirection = new Vector3(0.3f, -0.7f, 0.0f); m_directionalLight.LightColor = Vector4.One * 0.8f; m_renderScene.LightManager.AddLight(m_ambientLight); m_renderScene.LightManager.AddLight(m_directionalLight); } }); }
protected override void UpdateRenderData(float deltaTime) { CAmbientLight ambLight = (CAmbientLight)m_renderLight; ambLight.LightColor = LightColor; }