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
33a40a31
Kaydet (Commit)
33a40a31
authored
Haz 14, 2014
tarafından
weigao
Kaydeden (comit)
Markus Mohrhard
Haz 17, 2014
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
add shaders for 3.0 glsl version
Change-Id: I52dd49132a9b625e8be51b4d5feb7e567ffa0a6e
üst
3ad748ac
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
118 additions
and
0 deletions
+118
-0
Package_opengl.mk
chart2/Package_opengl.mk
+2
-0
shape3DFragmentShaderV300.glsl
chart2/opengl/shape3DFragmentShaderV300.glsl
+87
-0
shape3DVertexShaderV300.glsl
chart2/opengl/shape3DVertexShaderV300.glsl
+29
-0
No files found.
chart2/Package_opengl.mk
Dosyayı görüntüle @
33a40a31
...
...
@@ -30,6 +30,8 @@ $(eval $(call gb_Package_add_files,chart2_opengl_shader,$(LIBO_BIN_FOLDER)/openg
renderTextureFragmentShader.glsl \
shape3DFragmentShaderBatch.glsl \
shape3DVertexShaderBatch.glsl \
shape3DFragmentShaderV300.glsl \
shape3DVertexShaderV300.glsl \
))
# vim: set noet sw=4 ts=4:
chart2/opengl/shape3DFragmentShaderV300.glsl
0 → 100644
Dosyayı görüntüle @
33a40a31
/* -*- 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/.
*/
#define MAX_LIGHT_NUM 8
varying
vec3
positionWorldspace
;
varying
vec3
normalCameraspace
;
uniform
mat4
V
;
uniform
vec4
materialAmbient
;
uniform
vec4
materialDiffuse
;
uniform
vec4
materialSpecular
;
uniform
vec4
materialColor
;
uniform
int
twoSidesLighting
;
uniform
float
materialShininess
;
uniform
vec4
lightColor
[
MAX_LIGHT_NUM
];
uniform
vec4
lightPosWorldspace
[
MAX_LIGHT_NUM
];
uniform
float
lightPower
[
MAX_LIGHT_NUM
];
uniform
int
lightNum
;
uniform
vec4
lightAmbient
;
void
main
()
{
vec3
colorTotal
=
vec3
(
0
.
0
f
,
0
.
0
f
,
0
.
0
f
);
vec3
vertexPositionCameraspace
=
(
V
*
vec4
(
positionWorldspace
,
1
)).
xyz
;
vec3
MaterialDiffuseColor
=
materialColor
.
rgb
;
vec3
normalDirectionCameraspace
=
normalCameraspace
;
vec3
eyeDirectionCameraspace
=
normalize
(
vec3
(
0
,
0
,
0
)
-
vertexPositionCameraspace
);
float
attenuation
=
1
.
0
;
int
i
=
0
;
vec3
lightDirectionCameraspace
;
vec3
vertexToLightSource
;
vec3
totalAmbient
=
lightAmbient
.
rgb
*
MaterialDiffuseColor
*
materialAmbient
.
rgb
*
5
.
0
;
if
((
twoSidesLighting
==
1
)
&&
(
!
gl_FrontFacing
))
{
normalDirectionCameraspace
=
-
normalDirectionCameraspace
;
}
for
(
i
=
0
;
i
<
lightNum
;
i
++
)
{
float
LightPower
=
lightPower
[
i
];
lightDirectionCameraspace
=
normalize
((
V
*
lightPosWorldspace
[
i
]).
xyz
);
float
cosTheta
=
clamp
(
dot
(
normalDirectionCameraspace
,
lightDirectionCameraspace
),
0
,
1
);
vec3
lightDiffuse
=
LightPower
*
attenuation
*
lightColor
[
i
].
rgb
*
MaterialDiffuseColor
*
materialDiffuse
.
rgb
*
cosTheta
;
vec3
specularReflection
;
if
(
dot
(
normalDirectionCameraspace
,
lightDirectionCameraspace
)
<
0
)
{
specularReflection
=
vec3
(
0
.
0
,
0
.
0
,
0
.
0
);
}
else
{
vec3
R
=
reflect
(
-
lightDirectionCameraspace
,
normalDirectionCameraspace
);
float
cosAlpha
=
clamp
(
dot
(
eyeDirectionCameraspace
,
R
),
0
,
1
);
specularReflection
=
attenuation
*
LightPower
*
lightColor
[
i
].
rgb
*
materialSpecular
.
rgb
*
MaterialDiffuseColor
*
pow
(
max
(
0
.
0
,
cosAlpha
),
materialShininess
);
}
colorTotal
+=
lightDiffuse
+
specularReflection
;
}
colorTotal
+=
totalAmbient
;
gl_FragColor
=
vec4
(
colorTotal
,
1
.
0
);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
chart2/opengl/shape3DVertexShaderV300.glsl
0 → 100644
Dosyayı görüntüle @
33a40a31
/* -*- 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/.
*/
attribute
vec3
vertexPositionModelspace
;
attribute
vec3
vertexNormalModelspace
;
varying
vec3
positionWorldspace
;
varying
vec3
normalCameraspace
;
uniform
mat4
P
;
uniform
mat4
M
;
uniform
mat4
V
;
uniform
mat3
normalMatrix
;
void
main
()
{
gl_Position
=
P
*
V
*
M
*
vec4
(
vertexPositionModelspace
,
1
);
positionWorldspace
=
(
M
*
vec4
(
vertexPositionModelspace
,
1
)).
xyz
;
normalCameraspace
=
normalize
(
mat3
(
V
)
*
normalMatrix
*
vertexNormalModelspace
);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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