RAMSES Documentation  27.0.130
Information for RAMSES users and developers
Classes | Functions | Variables
main.cpp File Reference
#include "ramses-client.h"
#include "ramses-renderer-api/RamsesRenderer.h"
#include "ramses-renderer-api/DisplayConfig.h"
#include "ramses-renderer-api/IRendererEventHandler.h"
#include "ramses-renderer-api/IRendererSceneControlEventHandler.h"
#include "ramses-renderer-api/RendererSceneControl.h"
#include "ramses-utils.h"
#include <unordered_set>
#include <unordered_map>
#include <thread>
#include <cstring>
#include <sys/mman.h>
#include <unistd.h>
#include "linux/dma-buf.h"
#include "linux/ioctl.h"
#include <sys/ioctl.h>
#include <drm_fourcc.h>
#include <gbm.h>

Classes

struct  BufferInfo
 

Functions

ramses::EffectcreateEffect (ramses::Scene &scene, const std::string &effectName)
 
ramses::MeshNodecreateQuadWithTexture (ramses::Scene &scene, ramses::Effect &effect, ramses::TextureSampler &textureSampler)
 
ramses::ScenecreateMainScene (ramses::RamsesClient &client, ramses::sceneId_t sceneId, ramses::waylandIviSurfaceId_t streamId, const std::string &processingOutputSamplerName)
 
ramses::ScenecreateSourceScene (ramses::RamsesClient &client, ramses::sceneId_t sceneId, ramses::waylandIviSurfaceId_t streamId)
 
ramses::displayBufferId_t createDmaOffscreenBuffer (ramses::RamsesRenderer &renderer, ramses::displayId_t display)
 
bool mapDmaOffscreenBuffer (ramses::RamsesRenderer &renderer, ramses::displayId_t display, ramses::displayBufferId_t displayBuffer, bool readyOnly)
 
bool startBufferAccess (ramses::displayBufferId_t displayBuffer)
 
bool endBufferAccess (ramses::displayBufferId_t displayBuffer)
 
bool doProcessing (ramses::displayBufferId_t inputBuffer, ramses::displayBufferId_t outputBuffer)
 
int main (int argc, char *argv[])
 

Variables

constexpr const char *const vertexShader
 
constexpr const char *const fragmentShader
 
std::unordered_map< ramses::displayBufferId_t, BufferInfobufferInfoMap
 

Function Documentation

◆ createDmaOffscreenBuffer()

ramses::displayBufferId_t createDmaOffscreenBuffer ( ramses::RamsesRenderer renderer,
ramses::displayId_t  display 
)

◆ createEffect()

ramses::Effect& createEffect ( ramses::Scene scene,
const std::string &  effectName 
)

◆ createMainScene()

ramses::Scene& createMainScene ( ramses::RamsesClient client,
ramses::sceneId_t  sceneId,
ramses::waylandIviSurfaceId_t  streamId,
const std::string &  processingOutputSamplerName 
)

◆ createQuadWithTexture()

ramses::MeshNode& createQuadWithTexture ( ramses::Scene scene,
ramses::Effect effect,
ramses::TextureSampler textureSampler 
)

◆ createSourceScene()

ramses::Scene& createSourceScene ( ramses::RamsesClient client,
ramses::sceneId_t  sceneId,
ramses::waylandIviSurfaceId_t  streamId 
)

◆ doProcessing()

bool doProcessing ( ramses::displayBufferId_t  inputBuffer,
ramses::displayBufferId_t  outputBuffer 
)

◆ endBufferAccess()

bool endBufferAccess ( ramses::displayBufferId_t  displayBuffer)

◆ main()

int main ( int  argc,
char *  argv[] 
)

◆ mapDmaOffscreenBuffer()

bool mapDmaOffscreenBuffer ( ramses::RamsesRenderer renderer,
ramses::displayId_t  display,
ramses::displayBufferId_t  displayBuffer,
bool  readyOnly 
)

◆ startBufferAccess()

bool startBufferAccess ( ramses::displayBufferId_t  displayBuffer)

Variable Documentation

◆ bufferInfoMap

std::unordered_map<ramses::displayBufferId_t, BufferInfo> bufferInfoMap

◆ fragmentShader

constexpr const char* const fragmentShader
constexpr
Initial value:
= R"##(
#version 300 es
uniform sampler2D textureSampler;
in lowp vec2 v_texcoord;
out lowp vec4 fragColor;
void main(void)
{
fragColor = texture(textureSampler, v_texcoord);
}
)##"
Examples
ramses-example-local-dma-offscreenbuffer/src/main.cpp.

◆ vertexShader

constexpr const char* const vertexShader
constexpr
Initial value:
= R"##(
#version 300 es
in lowp vec3 a_position;
in lowp vec2 a_texcoord;
out lowp vec2 v_texcoord;
uniform lowp mat4 mvpMatrix;
void main()
{
v_texcoord = a_texcoord;
gl_Position = mvpMatrix * vec4(a_position, 1.0);
}
)##"
Examples
ramses-example-local-dma-offscreenbuffer/src/main.cpp.