gwaldron / osgearth

3D Maps for OpenSceneGraph / C++14
https://www.pelicanmapping.com/home-1/opensource
Other
1.47k stars 772 forks source link

Textures are not loading in the sample code #2534

Closed ComradeMashkov closed 3 months ago

ComradeMashkov commented 3 months ago

osgEarth Version (required): 3fc9686 master

What is the problem?

I have successfully built the osgEarth library. However, when I try to run sample from docs, I get this output in console:

Console output ``` [osgearth warning] ASSERTION FAILURE (createMains @ C:\Users\ilya.mashkov\Desktop\osgearth\src\osgEarth\ShaderFactory.cpp:170) state.getUseVertexAttributeAliasing() ...OpenSceneGraph vertex attribute aliasing must be enabled. Consider installing the GL3RealizeOperation in your viewer. [osgearth warning] ASSERTION FAILURE (createMains @ C:\Users\ilya.mashkov\Desktop\osgearth\src\osgEarth\ShaderFactory.cpp:173) state.getUseModelViewAndProjectionUniforms() ...OpenSceneGraph matrix uniforms must be enabled. Consider installing the GL3RealizeOperation in your viewer. [osgearth warning] [VirtualProgram] Program will not link! [osgearth warning] ASSERTION FAILURE (createMains @ C:\Users\ilya.mashkov\Desktop\osgearth\src\osgEarth\ShaderFactory.cpp:170) state.getUseVertexAttributeAliasing() ...OpenSceneGraph vertex attribute aliasing must be enabled. Consider installing the GL3RealizeOperation in your viewer. [osgearth warning] ASSERTION FAILURE (createMains @ C:\Users\ilya.mashkov\Desktop\osgearth\src\osgEarth\ShaderFactory.cpp:173) state.getUseModelViewAndProjectionUniforms() ...OpenSceneGraph matrix uniforms must be enabled. Consider installing the GL3RealizeOperation in your viewer. [osgearth warning] [VirtualProgram] Program will not link! ```

And the image is like:

Image ![image](https://github.com/gwaldron/osgearth/assets/117441107/ca98ec51-50bd-47da-849b-112add7ffee4)

Then I googled the problem a bit and found out, that I built the library with OpenGL 2 profile (by default). That is why I have to insert this:

viewer.setRealizeOperation(new osgEarth::GL3RealizeOperation());

I did this trick but it didn't help. The output in console is clear, but textures are still missing (the sphere is white).

Image ![image](https://github.com/gwaldron/osgearth/assets/117441107/b416bdab-302b-4f16-bc96-49ec93a54612)

How can I solve this problem? I am glad that I found your library and you guys did the great work. But I suspect that I am stuck in my misunderstanding of the problem. I feel that I built library the wrong way, but I'm not sure. I would really appreciate your help! Thanks!

UPD: I guess the problem is in my location. I can't reach readymap site without VPN so the example is not working :(

jasonbeverage commented 3 months ago

We have certain countries blocked on our ReadyMap server so you won't be able to access it from those locations. Check out some of the other examples that use different data sources or use some local geospatial data via the GDALImage/GDALElevation driver.