RAMSES Documentation  27.0.130
Information for RAMSES users and developers
RendererConfig.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // Copyright (C) 2015 BMW Car IT GmbH
3 // -------------------------------------------------------------------------
4 // This Source Code Form is subject to the terms of the Mozilla Public
5 // License, v. 2.0. If a copy of the MPL was not distributed with this
6 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 // -------------------------------------------------------------------------
8 
9 #ifndef RAMSES_RENDERERAPI_RENDERERCONFIG_H
10 #define RAMSES_RENDERERAPI_RENDERERCONFIG_H
11 
14 #include <chrono>
15 
16 namespace ramses
17 {
18  class IBinaryShaderCache;
19  class IRendererResourceCache;
20 
26  {
27  public:
32 
39  RendererConfig(int32_t argc, char const* const* argv);
40 
46 
50  virtual ~RendererConfig();
51 
59 
67 
77 
92  status_t setFrameCallbackMaxPollTime(uint64_t waitTimeInUsec);
93 
131 
142 
157 
183 
219 
228  status_t setSystemCompositorWaylandDisplay(const char* waylandDisplay);
229 
236 
248  status_t setRenderThreadLoopTimingReportingPeriod(std::chrono::milliseconds period);
249 
255  std::chrono::milliseconds getRenderThreadLoopTimingReportingPeriod() const;
256 
260  class RendererConfigImpl& impl;
261 
267  RendererConfig& operator=(const RendererConfig& other) = delete;
268  };
269 }
270 
271 #endif
#define RAMSES_API
Definition: APIExport.h:35
An interface used to exchange Binary Shader Cache with the RamsesRenderer. The RamsesRenderer will no...
Definition: IBinaryShaderCache.h:72
An interface used to implement a caching mechanism for resources used on the RamsesRenderer....
Definition: IRendererResourceCache.h:22
The RendererConfig holds a set of parameters to be used to initialize a renderer.
Definition: RendererConfig.h:26
const char * getSystemCompositorWaylandDisplay() const
Get the current setting of Wayland display name.
status_t setWaylandEmbeddedCompositingSocketFD(int socketFileDescriptor)
Set the file descriptor for the embedded compositor display socket.
status_t setSystemCompositorWaylandDisplay(const char *waylandDisplay)
Set the Wayland display name to connect system compositor to. This will override the default behavior...
const char * getWaylandEmbeddedCompositingSocketName() const
Get the current setting of embedded compositing display socket name.
RendererConfig(int32_t argc, char const *const *argv)
Constructor of RendererConfig that takes command line parameters and parses them to initialize the pa...
status_t setFrameCallbackMaxPollTime(uint64_t waitTimeInUsec)
Set the maximum time to wait for the system compositor frame callback before aborting and skipping re...
status_t setRenderThreadLoopTimingReportingPeriod(std::chrono::milliseconds period)
Set the desired reporting period for first display loop timings.
status_t setBinaryShaderCache(IBinaryShaderCache &cache)
Set the Binary Shader Cache to be used in Renderer.
virtual ~RendererConfig()
Destructor of RendererConfig.
status_t enableSystemCompositorControl()
Enable the renderer to communicate with the system compositor. This flag needs to be enabled before c...
RendererConfig()
Default constructor of RendererConfig.
RendererConfig(const RendererConfig &other)
Copy constructor of RendererConfig.
status_t setRendererResourceCache(IRendererResourceCache &cache)
Set the resource cache implementation to be used by the renderer.
RendererConfig & operator=(const RendererConfig &other)=delete
Deleted copy assignment.
status_t setWaylandEmbeddedCompositingSocketGroup(const char *groupname)
Request that the embedded compositing display socket belongs to the given group.
status_t setWaylandEmbeddedCompositingSocketName(const char *socketname)
Set the name to be used for the embedded compositing display socket name.
class RendererConfigImpl & impl
Definition: RendererConfig.h:260
status_t setWaylandEmbeddedCompositingSocketPermissions(uint32_t permissions)
Request that the embedded compositing display socket obtains the permissions given.
std::chrono::milliseconds getRenderThreadLoopTimingReportingPeriod() const
Get the current reporting period for renderThread loop timings.
The StatusObject provides status message handling.
Definition: StatusObject.h:22
The RAMSES namespace contains all client side objects and functions used to implement RAMSES applicat...
Definition: AnimatedProperty.h:15
uint32_t status_t
Status is a handle to the result of an API call.
Definition: RamsesFrameworkTypes.h:26