macoy
, in case that helps
void main()
{
// float ambientStrength = 0.1;
vec3 ambient = ambientStrength * lightColor;
vec3 result = ambient * objectColor;
FragColor = vec4(result, 1.0);
}
Has anyone managed to successfully link ogre libraries after building it statically on Windows?
I successfully built both 1.12.10 from source and also tried this with 1.12.9 from vcpkg. I'm working on a crossplatform solution so using CMake/writing CMakeLists rather than visual studio tooling. I'm trying to compile the same code as from the bootstrap tutorial, so I'm doingfind_package(OGRE REQUIRED COMPONENTS Bites RTShaderSystem)
and latertarget_link_libraries(0_Bootstrap OgreBites OgreRTShaderSystem)
Trying to run this gets me lots of errors similar to Target "0_Bootstrap" links to target "SDL2::SDL2" but the target was not
found.
, indicating the dependencies are not linked correctly. (SDL2, ZLib, and Imgui are some of the libs in question that error)
if I manually resolve them by doing a find_package(SDL2) and all the other missing packages, it still errors upon compilation. the command that fails is C:\...link.exe ...stuff... obj /out:src\0_Bootstrap.exe ...various.lib_files_being_linked... freetype.lib ...other.lib_files...
which naturally isn't surprising because the linker has no idea where freetype.lib is. This seems odd though, seeing as how the find_package(OGRE) stuff should've handled all the includes and libraries for me. I spent a while hacking at doing it without find_package and copying what the generated OgreTargets.cmake file did, but it was tedious and sifting through the undefined references was painful.
Is this a bug or am I missing something glaringly simple?
AttributeError: module 'cv2.cv2' has no attribute 'ovis
. I have opencv-contrib-python
installed, so I thought I am good to go? In the article it says that ovis
is an OpenCV module.
I'm also trying to get this tutorial to work: https://www.ogre3d.org/2020/12/24/augmented-reality-made-simple-with-ogre-and-opencv
I'm trying to use docker for it. I first build opencv from source on ubuntu:20.04, to get ovis enabled I added:apt install libogre-1.12 libogre-1.12-dev
, ARG OGRE_DIR=/usr/share/OGRE/cmake/modules/
, touch /usr/lib/x86_64-linux-gnu/libOgreGLSupport.a
. It builds fine, I can access it in opencv.
However when I run: owin = cv2.ovis.createWindow("VR", (800,600))
, I got a bunch of errors about missing zip files in /usr/share/OGRE/Media/packs/
, so I downloaded all the missing files for the packs folder. Now I'm getting errors:
owin = cv2.ovis.createWindow("VR", (800,600))
libGL error: MESA-LOADER: failed to retrieve device information
libGL error: Version 4 or later of flush extension not found
libGL error: failed to load driver: i915
libGL error: failed to open /dev/dri/card0: No such file or directory
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to retrieve device information
libGL error: Version 4 or later of flush extension not found
libGL error: failed to load driver: i915
libGL error: failed to open /dev/dri/card0: No such file or directory
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to retrieve device information
libGL error: Version 4 or later of flush extension not found
libGL error: failed to load driver: i915
libGL error: failed to open /dev/dri/card0: No such file or directory
libGL error: failed to load driver: iris
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-1-347dc5cb1e73> in <module>
1 import cv2
----> 2 owin = cv2.ovis.createWindow("VR", (800,600))
error: InternalErrorException: Unable to open zip file '/usr/share/OGRE/Media/volumeTerrain/volumeTerrainBig.zip' in load at /build/ogre-1.12-VXqDQG/ogre-1.12-1.12.4+dfsg1/OgreMain/src/OgreZip.cpp (line 221)
Is OpenGL required? I've tried downloading the content that goes in /usr/share/OGRE/Media/volumeTerrain/
, but it still can't load the zip even though I can see it. Do I need to use an older version of libogre?
Ogre::CompositorManager2::createBasicWorkspaceDef()
, but the window stays white. I'm getting my nVidia FPS counter so I assume there is some rendering going on at least.
import org.ogre.*;
public class test {
ApplicationContext applicationContext=null;
InputListener inputListener=null;
SceneManager sceneManager=null;
ShaderGenerator shaderGenerator=null;
Light light=null;
SceneNode lightNode=null;
Camera camera=null;
SceneNode cameraNode=null;
Entity ogreEntity=null;
SceneNode ogreNode=null;
public void init(){
applicationContext=new ApplicationContext("fuck");
inputListener=new InputListener();
sceneManager=applicationContext.getRoot().createSceneManager();
shaderGenerator=ShaderGenerator.getSingleton();
light=sceneManager.createLight("MainLight");
lightNode=sceneManager.getRootSceneNode().createChildSceneNode();
camera=sceneManager.createCamera("mycam");
cameraNode=sceneManager.getRootSceneNode().createChildSceneNode();
}
public void setup(){
init();
applicationContext.initApp();
applicationContext.addInputListener(inputListener);
shaderGenerator.addSceneManager(sceneManager);
sceneManager.setAmbientLight(new ColourValue(0.5f,0.5f,0.5f));
lightNode.attachObject(light);
lightNode.setPosition(20f,80f,50f);
camera.setNearClipDistance(5f);
camera.setAutoAspectRatio(true);
cameraNode.attachObject(camera);
cameraNode.setPosition(0f,0f,140f);
applicationContext.getRenderWindow().addViewport(camera);
}
public void run(){
try {
setup();
applicationContext.getRoot().startRendering();
applicationContext.closeApp();
}catch (Exception exception){
System.out.println(exception.toString());
}
}
}
public class main {
public static void main(String[] args) {
test t=new test();
t.run();
}
}
C:\Users\liu17\.jdks\corretto-1.8.0_282\bin\java.exe
-Djava.library.path=F:\ogre-sdk-v1.12.11-vc15-x64\lib;
F:\ogre-sdk-v1.12.11-vc15-x64\bin
"-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\lib\idea_rt.jar=54009:
C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\bin"
-Dfile.encoding=UTF-8 -classpath C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\charsets.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\access-bridge-64.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\cldrdata.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\dnsns.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\jaccess.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\jfxrt.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\localedata.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\nashorn.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\sunec.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\sunjce_provider.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\sunmscapi.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\sunpkcs11.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\ext\zipfs.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\jce.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\jfr.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\jfxswt.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\jsse.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\management-agent.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\resources.jar;
C:\Users\liu17\.jdks\corretto-1.8.0_282\jre\lib\rt.jar;
C:\Users\liu17\IdeaProjects\OgreTest\out\production\OgreTest;
F:\ogre-sdk-v1.12.11-vc15-x64\share\java\Ogre-1.12.11.jar
main
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.ogre.BitesJNI.swig_module_init()V
at org.ogre.BitesJNI.swig_module_init(Native Method)
at org.ogre.BitesJNI.<clinit>(BitesJNI.java:848)
at org.ogre.ApplicationContext.<init>(ApplicationContext.java:58)
at test.init(test.java:15)
at test.setup(test.java:25)
at test.run(test.java:40)
at main.main(main.java:4)
# Defines plugins to load
# Define plugin folder
PluginFolder=.
# Define plugins
Plugin=RenderSystem_Direct3D9
Plugin=RenderSystem_Direct3D11
Plugin=RenderSystem_GL
Plugin=RenderSystem_GL3Plus
Plugin=RenderSystem_GLES2
# Plugin=RenderSystem_Metal
# Plugin=RenderSystem_Tiny
Plugin=Plugin_ParticleFX
Plugin=Plugin_BSPSceneManager
# Plugin=Plugin_CgProgramManager
# Plugin=Codec_EXR
Plugin=Codec_STBI
# Plugin=Codec_FreeImage
Plugin=Plugin_PCZSceneManager
Plugin=Plugin_OctreeZone
Plugin=Plugin_OctreeSceneManager
Plugin=Plugin_DotScene
Plugin=Codec_Assimp
this is trivial to do with a render_quad compositor
Doesn't sound like it can be solved with simple render_quad compositor unless I'm missing something. If I understand correctly _createRenderWindow forces the resolution that Ogre uses for rendering the scene and no matter what value I give for target_width_scaled
for the compositor, it will be scaled back to the size of the RenderWindow created.
Doesn't sound like it can be solved with simple render_quad compositor
compositor DynamicResolution
{
technique
{
texture scene 1920 1080 PF_BYTE_RGBA
target scene
{
input previous
}
target_output
{
input none
pass render_quad
{
material DynamicResolution
input 0 scene
}
}
}
}