Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2017-05-02 19:50:29 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-05-02 19:52:39 +0300
commit3f567535da163df7e77fe9438cc80fb8b2c67b87 (patch)
tree7b883ebf63eab2be1d0e34ae0fa434ff48a14a18 /source/blender/gpu/intern/gpu_viewport.c
parent2b0f02057f457acec1ed9444ee7d833ab26d0d33 (diff)
Draw Manager: OpenGL render support
Works for clay-engine but doesn't draw objects with eevee.
Diffstat (limited to 'source/blender/gpu/intern/gpu_viewport.c')
-rw-r--r--source/blender/gpu/intern/gpu_viewport.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/source/blender/gpu/intern/gpu_viewport.c b/source/blender/gpu/intern/gpu_viewport.c
index 94c2b022e86..98c3613e1e2 100644
--- a/source/blender/gpu/intern/gpu_viewport.c
+++ b/source/blender/gpu/intern/gpu_viewport.c
@@ -83,6 +83,24 @@ GPUViewport *GPU_viewport_create(void)
return viewport;
}
+GPUViewport *GPU_viewport_create_from_offscreen(struct GPUOffScreen *ofs)
+{
+ GPUViewport *viewport = GPU_viewport_create();
+ GPU_offscreen_viewport_data_get(ofs, &viewport->fbl->default_fb, &viewport->txl->color, &viewport->txl->depth);
+ viewport->size[0] = GPU_offscreen_width(ofs);
+ viewport->size[1] = GPU_offscreen_height(ofs);
+ return viewport;
+}
+/**
+ * Clear vars assigned from offscreen, so we don't free data owned by `GPUOffScreen`.
+ */
+void GPU_viewport_clear_from_offscreen(GPUViewport *viewport)
+{
+ viewport->fbl->default_fb = NULL;
+ viewport->txl->color = NULL;
+ viewport->txl->depth = NULL;
+}
+
void *GPU_viewport_engine_data_create(GPUViewport *viewport, void *engine_type)
{
LinkData *ld = MEM_callocN(sizeof(LinkData), "LinkData");