46
46
// and attribute location. One has to make sure that the vertex attribute get index 0. So use the vertex attribute first. All of this does not make any sense.
47
47
// Need more info from driver developers.
49
bool USE_ARB_SHADERS = true;
51
49
void GraphicsEngine::InitSlColorShader()
53
51
ObjectPtr<IOpenGLVertexShader> VS = _graphics_display.m_DeviceFactory->CreateVertexShader();
2089
2087
num_pass = Clamp<int> (num_pass, 1, 50);
2091
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGpuDevice ()->GetCurrentFrameBufferObject ();
2089
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGraphicsDisplay()->GetGpuDevice()->GetCurrentFrameBufferObject();
2092
2090
int previous_width = 0;
2093
2091
int previous_height = 0;
2094
2092
if (prevFBO.IsValid ())
2096
previous_width = prevFBO->GetWidth ();
2097
previous_height = prevFBO->GetHeight ();
2094
previous_width = prevFBO->GetWidth();
2095
previous_height = prevFBO->GetHeight();
2101
previous_width = _graphics_display.GetWindowWidth ();
2102
previous_height = _graphics_display.GetWindowHeight ();
2099
previous_width = _graphics_display.GetWindowWidth();
2100
previous_height = _graphics_display.GetWindowHeight();
2105
CHECKGL (glClearColor (0, 0, 0, 0));
2103
CHECKGL (glClearColor(0, 0, 0, 0));
2106
2104
_offscreen_color_rt0->SetWrap(GL_CLAMP, GL_CLAMP, GL_CLAMP);
2107
2105
_offscreen_color_rt0->SetFiltering(GL_NEAREST, GL_NEAREST);
2108
2106
_offscreen_color_rt1->SetWrap(GL_CLAMP, GL_CLAMP, GL_CLAMP);
2109
2107
_offscreen_color_rt1->SetFiltering(GL_NEAREST, GL_NEAREST);
2111
2109
SetFrameBufferHelper(_offscreen_fbo, _offscreen_color_rt0, _offscreen_depth_rt0, buffer_width, buffer_height);
2112
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
2110
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
2114
2112
QRP_GLSL_1Tex(x, y, quad_width, quad_height, device_texture, texxform, color::White);
2145
2143
int quad_width = device_texture->GetWidth ();
2146
2144
int quad_height = device_texture->GetHeight ();
2148
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGpuDevice ()->GetCurrentFrameBufferObject ();
2146
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGraphicsDisplay()->GetGpuDevice()->GetCurrentFrameBufferObject ();
2149
2147
int previous_width = 0;
2150
2148
int previous_height = 0;
2151
2149
if (prevFBO.IsValid ())
2194
2192
int quad_width = device_texture->GetWidth ();
2195
2193
int quad_height = device_texture->GetHeight ();
2197
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGpuDevice ()->GetCurrentFrameBufferObject ();
2195
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGraphicsDisplay()->GetGpuDevice()->GetCurrentFrameBufferObject ();
2198
2196
int previous_width = 0;
2199
2197
int previous_height = 0;
2200
2198
if (prevFBO.IsValid ())
2244
2242
int quad_width = device_texture->GetWidth ();
2245
2243
int quad_height = device_texture->GetHeight ();
2247
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGpuDevice ()->GetCurrentFrameBufferObject ();
2245
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGraphicsDisplay()->GetGpuDevice()->GetCurrentFrameBufferObject ();
2248
2246
int previous_width = 0;
2249
2247
int previous_height = 0;
2250
2248
if (prevFBO.IsValid ())
2296
2294
int quad_width = device_texture->GetWidth ();
2297
2295
int quad_height = device_texture->GetHeight ();
2299
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGpuDevice ()->GetCurrentFrameBufferObject ();
2297
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGraphicsDisplay()->GetGpuDevice()->GetCurrentFrameBufferObject ();
2300
2298
int previous_width = 0;
2301
2299
int previous_height = 0;
2302
2300
if (prevFBO.IsValid ())
2362
2360
num_pass = Clamp<int> (num_pass, 1, 50);
2364
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGpuDevice ()->GetCurrentFrameBufferObject ();
2362
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGraphicsDisplay()->GetGpuDevice()->GetCurrentFrameBufferObject ();
2365
2363
int previous_width = 0;
2366
2364
int previous_height = 0;
2367
2365
if (prevFBO.IsValid ())
2545
2543
int quad_width = device_texture->GetWidth ();
2546
2544
int quad_height = device_texture->GetHeight ();
2548
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGpuDevice ()->GetCurrentFrameBufferObject ();
2546
ObjectPtr<IOpenGLFrameBufferObject> prevFBO = GetGraphicsDisplay()->GetGpuDevice()->GetCurrentFrameBufferObject ();
2549
2547
int previous_width = 0;
2550
2548
int previous_height = 0;
2551
2549
if (prevFBO.IsValid ())