Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
a7f3c73f
Kaydet (Commit)
a7f3c73f
authored
Agu 06, 2014
tarafından
Markus Mohrhard
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
extract shaders to own file and use shared shader loading
Change-Id: I1af7e03a3e46f3cb49162be9351ce22f54d08c52
üst
56d45b72
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
274 additions
and
245 deletions
+274
-245
Library_oglcanvas.mk
canvas/Library_oglcanvas.mk
+1
-0
Module_canvas.mk
canvas/Module_canvas.mk
+1
-0
Package_opengl.mk
canvas/Package_opengl.mk
+22
-0
dummyVertexShader.glsl
canvas/opengl/dummyVertexShader.glsl
+17
-0
linearMultiColorGradientFragmentShader.glsl
canvas/opengl/linearMultiColorGradientFragmentShader.glsl
+45
-0
linearTwoColorGradientFragmentShader.glsl
canvas/opengl/linearTwoColorGradientFragmentShader.glsl
+26
-0
radialMultiColorGradientFragmentShader.glsl
canvas/opengl/radialMultiColorGradientFragmentShader.glsl
+48
-0
radialTwoColorGradientFragmentShader.glsl
canvas/opengl/radialTwoColorGradientFragmentShader.glsl
+28
-0
rectangularMultiColorGradientFragmentShader.glsl
...s/opengl/rectangularMultiColorGradientFragmentShader.glsl
+44
-0
rectangularTwoColorGradientFragmentShader.glsl
canvas/opengl/rectangularTwoColorGradientFragmentShader.glsl
+25
-0
ogl_spritedevicehelper.cxx
canvas/source/opengl/ogl_spritedevicehelper.cxx
+17
-245
No files found.
canvas/Library_oglcanvas.mk
Dosyayı görüntüle @
a7f3c73f
...
@@ -20,6 +20,7 @@ $(eval $(call gb_Library_use_libraries,oglcanvas,\
...
@@ -20,6 +20,7 @@ $(eval $(call gb_Library_use_libraries,oglcanvas,\
cppuhelper \
cppuhelper \
comphelper \
comphelper \
vcl \
vcl \
vclopengl \
tk \
tk \
tl \
tl \
i18nlangtag \
i18nlangtag \
...
...
canvas/Module_canvas.mk
Dosyayı görüntüle @
a7f3c73f
...
@@ -24,6 +24,7 @@ $(eval $(call gb_Module_add_targets,canvas,\
...
@@ -24,6 +24,7 @@ $(eval $(call gb_Module_add_targets,canvas,\
Library_canvastools \
Library_canvastools \
Library_simplecanvas \
Library_simplecanvas \
Library_vclcanvas \
Library_vclcanvas \
Package_opengl \
))
))
ifeq ($(ENABLE_CAIRO_CANVAS),TRUE)
ifeq ($(ENABLE_CAIRO_CANVAS),TRUE)
...
...
canvas/Package_opengl.mk
0 → 100644
Dosyayı görüntüle @
a7f3c73f
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_Package_Package,canvas_opengl_shader,$(SRCDIR)/canvas/opengl))
$(eval $(call gb_Package_add_files,canvas_opengl_shader,$(LIBO_BIN_FOLDER)/opengl,\
dummyVertexShader.glsl \
linearMultiColorGradientFragmentShader.glsl \
linearTwoColorGradientFragmentShader.glsl \
radialMultiColorGradientFragmentShader.glsl \
radialTwoColorGradientFragmentShader.glsl \
rectangularMultiColorGradientFragmentShader.glsl \
rectangularTwoColorGradientFragmentShader.glsl \
))
# vim: set noet sw=4 ts=4:
canvas/opengl/dummyVertexShader.glsl
0 → 100644
Dosyayı görüntüle @
a7f3c73f
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
varying
vec2
v_textureCoords2d
;
void
main
(
void
)
{
gl_Position
=
ftransform
();
v_textureCoords2d
=
gl_MultiTexCoord0
.
st
;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
canvas/opengl/linearMultiColorGradientFragmentShader.glsl
0 → 100644
Dosyayı görüntüle @
a7f3c73f
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#version 120
uniform
int
i_nColors
;
uniform
sampler1D
t_colorArray4d
;
uniform
sampler1D
t_stopArray1d
;
uniform
mat3x2
m_transform
;
varying
vec2
v_textureCoords2d
;
int
findBucket
(
float
t
)
{
int
nMinBucket
=
0
;
while
(
nMinBucket
<
i_nColors
&&
texture1D
(
t_stopArray1d
,
nMinBucket
).
s
<
t
)
++
nMinBucket
;
return
max
(
nMinBucket
-
1
,
0
);
}
void
main
(
void
)
{
const
float
fAlpha
=
clamp
(
(
m_transform
*
vec3
(
v_textureCoords2d
,
1
)).
s
,
0
.
0
,
1
.
0
);
const
int
nMinBucket
=
findBucket
(
fAlpha
);
const
float
fLerp
=
(
fAlpha
-
texture1D
(
t_stopArray1d
,
nMinBucket
).
s
)
/
(
texture1D
(
t_stopArray1d
,
nMinBucket
+
1
).
s
-
texture1D
(
t_stopArray1d
,
nMinBucket
).
s
);
gl_FragColor
=
mix
(
texture1D
(
t_colorArray4d
,
nMinBucket
),
texture1D
(
t_colorArray4d
,
nMinBucket
+
1
),
fLerp
);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
canvas/opengl/linearTwoColorGradientFragmentShader.glsl
0 → 100644
Dosyayı görüntüle @
a7f3c73f
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#version 120
uniform
vec4
v_startColor4d
;
uniform
vec4
v_endColor4d
;
uniform
mat3x2
m_transform
;
varying
vec2
v_textureCoords2d
;
void
main
(
void
)
{
gl_FragColor
=
mix
(
v_startColor4d
,
v_endColor4d
,
clamp
(
(
m_transform
*
vec3
(
v_textureCoords2d
,
1
)).
s
,
0
.
0
,
1
.
0
));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
canvas/opengl/radialMultiColorGradientFragmentShader.glsl
0 → 100644
Dosyayı görüntüle @
a7f3c73f
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#version 120
uniform
int
i_nColors
;
uniform
sampler1D
t_colorArray4d
;
uniform
sampler1D
t_stopArray1d
;
uniform
mat3x2
m_transform
;
varying
vec2
v_textureCoords2d
;
const
vec2
v_center2d
=
vec2
(
0
,
0
);
int
findBucket
(
float
t
)
{
int
nMinBucket
=
0
;
while
(
nMinBucket
<
i_nColors
&&
texture1D
(
t_stopArray1d
,
nMinBucket
).
s
<
t
)
++
nMinBucket
;
return
max
(
nMinBucket
-
1
,
0
);
}
void
main
(
void
)
{
const
float
fAlpha
=
clamp
(
1
.
0
-
distance
(
vec2
(
m_transform
*
vec3
(
v_textureCoords2d
,
1
)),
v_center2d
),
0
.
0
,
1
.
0
);
const
int
nMinBucket
=
findBucket
(
fAlpha
);
const
float
fLerp
=
(
fAlpha
-
texture1D
(
t_stopArray1d
,
nMinBucket
).
s
)
/
(
texture1D
(
t_stopArray1d
,
nMinBucket
+
1
).
s
-
texture1D
(
t_stopArray1d
,
nMinBucket
).
s
);
gl_FragColor
=
mix
(
texture1D
(
t_colorArray4d
,
nMinBucket
),
texture1D
(
t_colorArray4d
,
nMinBucket
+
1
),
fLerp
);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
canvas/opengl/radialTwoColorGradientFragmentShader.glsl
0 → 100644
Dosyayı görüntüle @
a7f3c73f
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#version 120
uniform
vec4
v_startColor4d
;
uniform
vec4
v_endColor4d
;
uniform
mat3x2
m_transform
;
varying
vec2
v_textureCoords2d
;
const
vec2
v_center2d
=
vec2
(
0
,
0
);
void
main
(
void
)
{
gl_FragColor
=
mix
(
v_startColor4d
,
v_endColor4d
,
1
.
0
-
distance
(
vec2
(
m_transform
*
vec3
(
v_textureCoords2d
,
1
)),
v_center2d
));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
canvas/opengl/rectangularMultiColorGradientFragmentShader.glsl
0 → 100644
Dosyayı görüntüle @
a7f3c73f
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#version 120
uniform
int
i_nColors
;
uniform
sampler1D
t_colorArray4d
;
uniform
sampler1D
t_stopArray1d
;
uniform
mat3x2
m_transform
;
varying
vec2
v_textureCoords2d
;
int
findBucket
(
float
t
)
{
int
nMinBucket
=
0
;
while
(
nMinBucket
<
i_nColors
&&
texture1D
(
t_stopArray1d
,
nMinBucket
).
s
<
t
)
++
nMinBucket
;
return
max
(
nMinBucket
-
1
,
0
);
}
void
main
(
void
)
{
const
vec2
v
=
abs
(
vec2
(
m_transform
*
vec3
(
v_textureCoords2d
,
1
))
);
const
float
fAlpha
=
1
-
max
(
v
.
x
,
v
.
y
);
const
int
nMinBucket
=
findBucket
(
fAlpha
);
const
float
fLerp
=
(
fAlpha
-
texture1D
(
t_stopArray1d
,
nMinBucket
).
s
)
/
(
texture1D
(
t_stopArray1d
,
nMinBucket
+
1
).
s
-
texture1D
(
t_stopArray1d
,
nMinBucket
).
s
);
gl_FragColor
=
mix
(
texture1D
(
t_colorArray4d
,
nMinBucket
),
texture1D
(
t_colorArray4d
,
nMinBucket
+
1
),
fLerp
);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
canvas/opengl/rectangularTwoColorGradientFragmentShader.glsl
0 → 100644
Dosyayı görüntüle @
a7f3c73f
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#version 120
uniform
vec4
v_startColor4d
;
uniform
vec4
v_endColor4d
;
uniform
mat3x2
m_transform
;
varying
vec2
v_textureCoords2d
;
void
main
(
void
)
{
const
vec2
v
=
abs
(
vec2
(
m_transform
*
vec3
(
v_textureCoords2d
,
1
))
);
const
float
t
=
max
(
v
.
x
,
v
.
y
);
gl_FragColor
=
mix
(
v_startColor4d
,
v_endColor4d
,
1
.
0
-
t
);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
canvas/source/opengl/ogl_spritedevicehelper.cxx
Dosyayı görüntüle @
a7f3c73f
...
@@ -53,197 +53,6 @@ static int lcl_XErrorHandler( unx::Display*, unx::XErrorEvent* )
...
@@ -53,197 +53,6 @@ static int lcl_XErrorHandler( unx::Display*, unx::XErrorEvent* )
return
0
;
return
0
;
}
}
/** Dummy vertex processing. Simply uses default pipeline for vertex
transformation, and forwards texture coodinates to fragment shader
*/
static
const
char
dummyVertexShader
[]
=
{
"varying vec2 v_textureCoords2d; "
"void main(void) "
"{ "
" gl_Position = ftransform(); "
" v_textureCoords2d = gl_MultiTexCoord0.st; "
"} "
};
/** Two-color linear gradient
*/
static
const
char
linearTwoColorGradientFragmentShader
[]
=
{
"#version 120
\n
"
"uniform vec4 v_startColor4d; "
"uniform vec4 v_endColor4d; "
"uniform mat3x2 m_transform; "
"varying vec2 v_textureCoords2d; "
"void main(void) "
"{ "
" gl_FragColor = mix(v_startColor4d, "
" v_endColor4d, "
" clamp( "
" (m_transform * vec3(v_textureCoords2d,1)).s, "
" 0.0, 1.0)); "
"} "
};
/** N-color linear gradient
*/
static
const
char
linearMultiColorGradientFragmentShader
[]
=
{
"#version 120
\n
"
"uniform int i_nColors; "
"uniform sampler1D t_colorArray4d; "
"uniform sampler1D t_stopArray1d; "
"uniform mat3x2 m_transform; "
"varying vec2 v_textureCoords2d; "
" "
"int findBucket(float t) "
"{ "
" int nMinBucket=0; "
" while( nMinBucket < i_nColors && "
" texture1D(t_stopArray1d, nMinBucket).s < t ) "
" ++nMinBucket; "
" return max(nMinBucket-1,0); "
"} "
" "
"void main(void) "
"{ "
" const float fAlpha = "
" clamp( (m_transform * vec3(v_textureCoords2d,1)).s, "
" 0.0, 1.0 ); "
" "
" const int nMinBucket=findBucket( fAlpha ); "
" "
" const float fLerp = "
" (fAlpha-texture1D(t_stopArray1d, nMinBucket).s) / "
" (texture1D(t_stopArray1d, nMinBucket+1).s - "
" texture1D(t_stopArray1d, nMinBucket).s); "
" "
" gl_FragColor = mix(texture1D(t_colorArray4d, nMinBucket), "
" texture1D(t_colorArray4d, nMinBucket+1), "
" fLerp); "
"} "
};
/** Two-color radial gradient
*/
static
const
char
radialTwoColorGradientFragmentShader
[]
=
{
"#version 120
\n
"
"uniform vec4 v_startColor4d; "
"uniform vec4 v_endColor4d; "
"uniform mat3x2 m_transform; "
"varying vec2 v_textureCoords2d; "
"const vec2 v_center2d = vec2(0,0); "
"void main(void) "
"{ "
" gl_FragColor = mix(v_startColor4d, "
" v_endColor4d, "
" 1.0 - distance( "
" vec2( "
" m_transform * vec3(v_textureCoords2d,1)), "
" v_center2d)); "
"} "
};
/** Multi-color radial gradient
*/
static
const
char
radialMultiColorGradientFragmentShader
[]
=
{
"#version 120
\n
"
"uniform int i_nColors; "
"uniform sampler1D t_colorArray4d; "
"uniform sampler1D t_stopArray1d; "
"uniform mat3x2 m_transform; "
"varying vec2 v_textureCoords2d; "
"const vec2 v_center2d = vec2(0,0); "
" "
"int findBucket(float t) "
"{ "
" int nMinBucket=0; "
" while( nMinBucket < i_nColors && "
" texture1D(t_stopArray1d, nMinBucket).s < t ) "
" ++nMinBucket; "
" return max(nMinBucket-1,0); "
"} "
" "
"void main(void) "
"{ "
" const float fAlpha = "
" clamp( 1.0 - distance( "
" vec2( m_transform * vec3(v_textureCoords2d,1)), "
" v_center2d), "
" 0.0, 1.0 ); "
" "
" const int nMinBucket=findBucket( fAlpha ); "
" "
" const float fLerp = "
" (fAlpha-texture1D(t_stopArray1d, nMinBucket).s) / "
" (texture1D(t_stopArray1d, nMinBucket+1).s - "
" texture1D(t_stopArray1d, nMinBucket).s); "
" "
" gl_FragColor = mix(texture1D(t_colorArray4d, nMinBucket), "
" texture1D(t_colorArray4d, nMinBucket+1), "
" fLerp); "
"} "
};
/** Two-color rectangular gradient
*/
static
const
char
rectangularTwoColorGradientFragmentShader
[]
=
{
"#version 120
\n
"
"uniform vec4 v_startColor4d; "
"uniform vec4 v_endColor4d; "
"uniform mat3x2 m_transform; "
"varying vec2 v_textureCoords2d; "
"void main(void) "
"{ "
" const vec2 v = abs( vec2(m_transform * vec3(v_textureCoords2d,1)) ); "
" const float t = max(v.x, v.y); "
" gl_FragColor = mix(v_startColor4d, "
" v_endColor4d, "
" 1.0-t); "
"} "
};
/** Multi-color rectangular gradient
*/
static
const
char
rectangularMultiColorGradientFragmentShader
[]
=
{
"#version 120
\n
"
"uniform int i_nColors; "
"uniform sampler1D t_colorArray4d; "
"uniform sampler1D t_stopArray1d; "
"uniform mat3x2 m_transform; "
"varying vec2 v_textureCoords2d; "
" "
"int findBucket(float t) "
"{ "
" int nMinBucket=0; "
" while( nMinBucket < i_nColors && "
" texture1D(t_stopArray1d, nMinBucket).s < t ) "
" ++nMinBucket; "
" return max(nMinBucket-1,0); "
"} "
" "
"void main(void) "
"{ "
" const vec2 v = abs( vec2(m_transform * vec3(v_textureCoords2d,1)) ); "
" const float fAlpha = 1 - max(v.x, v.y); "
" "
" const int nMinBucket=findBucket( fAlpha ); "
" "
" const float fLerp = "
" (fAlpha-texture1D(t_stopArray1d, nMinBucket).s) / "
" (texture1D(t_stopArray1d, nMinBucket+1).s - "
" texture1D(t_stopArray1d, nMinBucket).s); "
" "
" gl_FragColor = mix(texture1D(t_colorArray4d, nMinBucket), "
" texture1D(t_colorArray4d, nMinBucket+1), "
" fLerp); "
"} "
};
static
void
initContext
()
static
void
initContext
()
{
{
// need the backside for mirror effects
// need the backside for mirror effects
...
@@ -529,13 +338,6 @@ namespace oglcanvas
...
@@ -529,13 +338,6 @@ namespace oglcanvas
mpGLPBufContext
(
NULL
),
mpGLPBufContext
(
NULL
),
mpFBConfig
(
NULL
),
mpFBConfig
(
NULL
),
mpTextureCache
(
new
TextureCache
()),
mpTextureCache
(
new
TextureCache
()),
mnDummyVertexProgram
(
0
),
mnLinearTwoColorGradientFragmentProgram
(
0
),
mnLinearMultiColorGradientFragmentProgram
(
0
),
mnRadialTwoColorGradientFragmentProgram
(
0
),
mnRadialMultiColorGradientFragmentProgram
(
0
),
mnRectangularTwoColorGradientFragmentProgram
(
0
),
mnRectangularMultiColorGradientFragmentProgram
(
0
),
mnLinearTwoColorGradientProgram
(
0
),
mnLinearTwoColorGradientProgram
(
0
),
mnLinearMultiColorGradientProgram
(
0
),
mnLinearMultiColorGradientProgram
(
0
),
mnRadialTwoColorGradientProgram
(
0
),
mnRadialTwoColorGradientProgram
(
0
),
...
@@ -648,46 +450,23 @@ namespace oglcanvas
...
@@ -648,46 +450,23 @@ namespace oglcanvas
// init window context
// init window context
initContext
();
initContext
();
// compile & link shaders - code courtesy rodo
mnLinearMultiColorGradientProgram
=
compileShader
(
mnDummyVertexProgram
,
OpenGLHelper
::
LoadShaders
(
"dummyVertexShader.glsl"
,
"linearMultiColorGradientFragmentShader.glsl"
);
GL_VERTEX_SHADER
,
dummyVertexShader
);
mnLinearTwoColorGradientProgram
=
compileShader
(
mnLinearTwoColorGradientFragmentProgram
,
OpenGLHelper
::
LoadShaders
(
"dummyVertexShader.glsl"
,
"linearTwoColorGradientFragmentShader.glsl"
);
GL_FRAGMENT_SHADER
,
linearTwoColorGradientFragmentShader
);
mnRadialMultiColorGradientProgram
=
compileShader
(
mnLinearMultiColorGradientFragmentProgram
,
OpenGLHelper
::
LoadShaders
(
"dummyVertexShader.glsl"
,
"radialMultiColorGradientFragmentShader.glsl"
);
GL_FRAGMENT_SHADER
,
linearMultiColorGradientFragmentShader
);
mnRadialTwoColorGradientProgram
=
compileShader
(
mnRadialTwoColorGradientFragmentProgram
,
OpenGLHelper
::
LoadShaders
(
"dummyVertexShader.glsl"
,
"radialTwoColorGradientFragmentShader.glsl"
);
GL_FRAGMENT_SHADER
,
radialTwoColorGradientFragmentShader
);
mnRectangularMultiColorGradientProgram
=
compileShader
(
mnRadialMultiColorGradientFragmentProgram
,
OpenGLHelper
::
LoadShaders
(
"dummyVertexShader.glsl"
,
"rectangularMultiColorGradientFragmentShader.glsl"
);
GL_FRAGMENT_SHADER
,
radialMultiColorGradientFragmentShader
);
mnRectangularTwoColorGradientProgram
=
compileShader
(
mnRectangularTwoColorGradientFragmentProgram
,
OpenGLHelper
::
LoadShaders
(
"dummyVertexShader.glsl"
,
"rectangularTwoColorGradientFragmentShader.glsl"
);
GL_FRAGMENT_SHADER
,
rectangularTwoColorGradientFragmentShader
);
compileShader
(
mnRectangularMultiColorGradientFragmentProgram
,
GL_FRAGMENT_SHADER
,
rectangularMultiColorGradientFragmentShader
);
linkShaders
(
mnLinearTwoColorGradientProgram
,
mnDummyVertexProgram
,
mnLinearTwoColorGradientFragmentProgram
);
linkShaders
(
mnLinearMultiColorGradientProgram
,
mnDummyVertexProgram
,
mnLinearMultiColorGradientFragmentProgram
);
linkShaders
(
mnRadialTwoColorGradientProgram
,
mnDummyVertexProgram
,
mnRadialTwoColorGradientFragmentProgram
);
linkShaders
(
mnRadialMultiColorGradientProgram
,
mnDummyVertexProgram
,
mnRadialMultiColorGradientFragmentProgram
);
linkShaders
(
mnRectangularTwoColorGradientProgram
,
mnDummyVertexProgram
,
mnRectangularTwoColorGradientFragmentProgram
);
linkShaders
(
mnRectangularMultiColorGradientProgram
,
mnDummyVertexProgram
,
mnRectangularMultiColorGradientFragmentProgram
);
glXMakeCurrent
(
pDisplay
,
None
,
NULL
);
glXMakeCurrent
(
pDisplay
,
None
,
NULL
);
}
}
...
@@ -716,13 +495,6 @@ namespace oglcanvas
...
@@ -716,13 +495,6 @@ namespace oglcanvas
glDeleteProgram
(
mnRadialMultiColorGradientProgram
);
glDeleteProgram
(
mnRadialMultiColorGradientProgram
);
glDeleteProgram
(
mnLinearTwoColorGradientProgram
);
glDeleteProgram
(
mnLinearTwoColorGradientProgram
);
glDeleteProgram
(
mnLinearMultiColorGradientProgram
);
glDeleteProgram
(
mnLinearMultiColorGradientProgram
);
glDeleteShader
(
mnRectangularTwoColorGradientFragmentProgram
);
glDeleteShader
(
mnRectangularMultiColorGradientFragmentProgram
);
glDeleteShader
(
mnRadialTwoColorGradientFragmentProgram
);
glDeleteShader
(
mnRadialMultiColorGradientFragmentProgram
);
glDeleteShader
(
mnLinearTwoColorGradientFragmentProgram
);
glDeleteShader
(
mnLinearMultiColorGradientFragmentProgram
);
glDeleteShader
(
mnDummyVertexProgram
);
glXDestroyContext
(
reinterpret_cast
<
unx
::
Display
*>
(
mpDisplay
),
glXDestroyContext
(
reinterpret_cast
<
unx
::
Display
*>
(
mpDisplay
),
reinterpret_cast
<
unx
::
GLXContext
>
(
mpGLContext
));
reinterpret_cast
<
unx
::
GLXContext
>
(
mpGLContext
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment