Hi Benjamin,
Hello,
I am trying to port my project using OSG 3.4.0 on iOS.
I first tried to modify OSG sources to be fully usable with an OpenGL ES 3
context, as other dependencies require OpenGL ES 3.
I managed to run osg on my iPad, modifying shaders and removing duplicates
while merging them, but osgText is making me crazy |-)
I tried to debug using only the osgtext.cpp example.
I embedded a font with my application in a bundle, and successfully load it. I
modified osgText/Glyph to use GL_RED as glyph texture format.
Only the DefaultFont is correctly rendered. Other Glyphs are not rendered, only
their bouding boxes (cf. attached image).
Does anyone has an idea on what could be the cause?
The osgText is build around fixed function set rendering. You need to
supply a shader for text-rendering in your case.
I've attached my default shaders which I simply assign to the root state
set of the scenegraph or to nodes with osg-text.
You might need to attach the correct sampler uniform to get the correct
glyph texture however.
Cheers
Sebastian
Cheers,
Benjamin
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=68251#68251
Attachments:
http://forum.openscenegraph.org//files/img_0029_454.png
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
#version 440
#extension GL_ARB_enhanced_layouts : enable
#extension GL_ARB_separate_shader_objects : enable
layout (location=0) in vec4 osg_Vertex;
layout (location=1) in vec3 osg_Normal;
layout (location=2) in vec4 osg_Color;
layout (location=3) in vec4 osg_MultiTexCoord0;
uniform mat4 osg_ModelViewMatrix;
uniform mat4 osg_ModelViewProjectionMatrix;
out gl_PerVertex
{
vec4 gl_Position;
};
layout(location=1) out block
{
mediump vec2 tex_coord;
mediump vec4 color;
} Out;
void main()
{
Out.color = osg_Color;
Out.tex_coord = vec4(osg_MultiTexCoord0).xy;
gl_Position = osg_ModelViewProjectionMatrix * osg_Vertex;
}
#version 440
#extension GL_ARB_enhanced_layouts : enable
#extension GL_ARB_separate_shader_objects : enable
layout (location=0) out vec4 FragmentData;
layout(location=1) in block
{
mediump vec2 tex_coord;
mediump vec4 color;
} In;
uniform sampler2D osg_Texture;
void main()
{
vec4 diffuse_color = In.color;
diffuse_color *= texture2D(osg_Texture, In.tex_coord).a;
FragmentData = diffuse_color;
}_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org