///////////////////////////////////////////////////////////////////////////////// public void Update(double timeInSeconds, Noesis.AntialiasingMode aaMode, Noesis.TessellationMode tessMode, Noesis.TessellationQuality tessQuality, Noesis.RendererFlags flags, bool enableMouse, bool enableTouch, bool emulateTouch, bool enablePostProcess, bool flipVertically) { UpdateSettings(aaMode, tessMode, tessQuality, flags, enablePostProcess, flipVertically); UpdateInputs(enableMouse, enableTouch, emulateTouch); Noesis_UpdateRenderer(_rendererId, timeInSeconds); }
///////////////////////////////////////////////////////////////////////////////// private void UpdateSettings(Noesis.AntialiasingMode aaMode, Noesis.TessellationMode tessMode, Noesis.TessellationQuality tessQuality, Noesis.RendererFlags flags, bool enablePostProcess, bool flipVertically) { // update renderer size if (!IsRenderToTexture) { Noesis_RendererSurfaceSize(_rendererId, UnityEngine.Screen.width, UnityEngine.Screen.height, _offscreenSize.x, _offscreenSize.y, UnityEngine.QualitySettings.antiAliasing); if (_isGraphicsDeviceDirectX) { UnityEngine.Camera camera = _targetCamera ?? UnityEngine.Camera.main; if (enablePostProcess && camera != null && ( camera.actualRenderingPath == UnityEngine.RenderingPath.DeferredLighting || camera.actualRenderingPath == UnityEngine.RenderingPath.DeferredShading)) { flags |= RendererFlags.FlipY; } } } else // Render to Texture { System.Diagnostics.Debug.Assert(_texture.width > 0); System.Diagnostics.Debug.Assert(_texture.height > 0); Noesis_RendererSurfaceSize(_rendererId, _texture.width, _texture.height, _offscreenSize.x, _offscreenSize.y, UnityEngine.QualitySettings.antiAliasing); if (_isGraphicsDeviceDirectX) { flags |= RendererFlags.FlipY; } } if (flipVertically) { flags ^= RendererFlags.FlipY; } // update renderer settings Noesis_RendererAntialiasingMode(_rendererId, (int)aaMode); Noesis_RendererTessMode(_rendererId, (int)tessMode); Noesis_RendererTessQuality(_rendererId, (int)tessQuality); Noesis_RendererFlags(_rendererId, (int)flags); }