openscenegraph相关内容
我有一个多线程 C++ 应用程序,它使用 OpenSceneGraph 库进行 3D 渲染.我计划使用 boost::threads 将 OSG 的渲染循环作为一个单独的线程启动,将包含共享状态的数据结构传递给线程.我试图避免任何过于重量级的东西(如互斥锁)进行同步,因为渲染循环需要非常紧凑,而 OSG 本身试图避免不得不锁定.大多数共享状态是在线程启动之前设置的,并且永远不会改变.我确实有一些需
..
我想将 OSG 场景集成到我的 Qt Quick 应用程序中. 似乎正确的方法是使用 QQuickFramebufferObject 类并在 QQuickFramebufferObject::Renderer 中调用 osgViewer::Viewer::frame()::渲染().我尝试使用 https://bitbucket.org/leon_manukyan/qtquick2osgit
..
我有一个类似 3D CAD 的应用程序,为此我使用了 OpenGL 包装器库 (OpenSceneGraph).对于应用程序,我正在尝试提出如何在 3D 中渲染粗而平滑的线条的最佳策略. 厚实和光滑我的意思是: 线宽可以大于 OpenGL 的最大线宽值(在我的机器上似乎是 10.f) 在组合多段线时,我想避免出现“断线"(见下图示例) 目前我使用 GL_LINE_STRIP_A
..
我正在尝试从本机端访问资产文件夹中的图像文件.现在我可以成功搜索资产文件夹及其子目录,找到我正在寻找的特定文件: AAssetDir* assetDir = AAssetManager_openDir(asset_manager, "images");const char* 文件名;而 ((文件名 = AAssetDir_getNextFileName(assetDir)) != NULL){_
..
我在导入 FBX 模型时遇到问题.我已经用 Unity 完成了,所以我知道模型可以很好地导出,但我也应该使用本机代码.我收到错误: 2015-06-02 15:20:21.721 ARAppNFTOSG[746:481003] 错误:不支持的模型文件类型 (fbx).无视. 我正在名为 ARAppNFTOSG 的 AR 示例上尝试它.我将model.dat更改为: 1OSG/Geralt/w
..
我试图从用户在 2d 屏幕空间上选择的点在 3D 空间上放置一个球体.为此,我尝试使用以下技术从 2d 点计算 3d 点,但该技术没有给出正确的解决方案. mousePosition.x = ((clickPos.clientX - window.left)/control.width) * 2 - 1;mousePosition.y = -((clickPos.clientY - window
..
如何从源代码构建 OpenSceneGraph?我应该怎么做才能为 OSG 构建第三方依赖项? 解决方案 这只是一个初始指南,它将在您的系统上安装基本的 OSG.还有许多其他配置更改和带有依赖项的编译,您可以稍后进行(在第一个长虚线后指定构建第三方库). 将 OSG 源代码 zip 文件解压到一个文件夹中 从 CMake 网站下载并安装 CMake 运行 CMake 在 CMa
..
我正在尝试使用从文件中读取的笛卡尔坐标(X、Y、Z)和欧拉角(偏航、俯仰、滚动)来控制 osg::Camera. 第 1 部分 由于某种原因,设置我的滚动会导致相机围绕 z 轴旋转,而不是像预期的那样围绕 y 轴旋转. 以下是我将位置数据输入到的先前编写的相机操纵器. class EulerManipulator : public osgGA::CameraManipulato
..
我希望外面有人能理解下面的代码为什么失败.我正在尝试从osg :: Node *节点对象获取PositionAttitudeTransform(Openscenegraph类)的实例.但是下面以粗体显示了编译器错误. void CameraPosCallbackUpdate :: operator()(osg :: Node *节点,osg :: NodeVisitor * nv){//其他代
..
我试图从2D屏幕空间上用户选择的点开始在3D空间上放置一个球体.为此,我尝试使用以下技术从2d点计算3d点,而该技术未提供正确的解决方案. mousePosition.x =((clickPos.clientX-window.left)/control.width)* 2-1;mousePosition.y =-((clickPos.clientY-window.top)/control.he
..
我正在使用OpenSceneGraph 3.0.1,使用 进行Qt集成时遇到了问题 osgQt::GLWidget,在启动过程中将其添加到选项卡控件中(在我的主窗口的构造函数内部. MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->set
..
一个奇怪的错误: 错误MSB8011:无法注册输出。请尝试启用每用户 重定向,或从具有 提升权限的命令提示符下注册组件。 C:\Program 文件\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets 744 尝试在ActiveX控件中使用OpenSceneGraph(OSG)时出现此错误。 Google搜索显示了各种解决
..
我在导入FBX模型时遇到问题。我已经用Unity做到了,所以我知道模型可以很好地导出,但是我也应该使用本机代码。 我遇到了错误: 2015-06-02 15:20:21.721 ARAppNFTOSG [746:481003]错误:不支持的模型文件 类型(fbx)。无视。 我在名为ARAppNFTOSG的AR示例中尝试使用它。我将model.dat更改为: 1
..
我想用两个约束来渲染具有纹理的Openscenegraph模型: 1)使用着色器(opengles20) 2)将纹理上传到GPU上的textureUnit1(默认为textureUnit0) 我以为我做对了,但仍然得到非纹理模型(仅网格). 以下是着色器(请注意,我使用gl_MultiTexCoord1): static const char gVertexShader1[
..
我想将OSG场景集成到我的Qt Quick应用程序中. 似乎正确的方法是使用QQuickFramebufferObject类并在QQuickFramebufferObject::Renderer::render()中调用osgViewer::Viewer::frame().我尝试使用 https://bitbucket.org/leon_manukyan/qtquick2osgitem/ov
..
我正在尝试为3D场景实现导航技术(在带有OpenGL的OpenSceneGraph中).除其他事项外,用户应该能够单击屏幕上的场景对象以向其移动. 导航技术应集成到另一个项目中,该项目使用顶点着色器将全局变形应用于场景几何.这就是问题所在:由于使用顶点着色器使几何变形,因此将鼠标光标位置取消投影到用户实际选择的地点的世界坐标并不是一件容易的事.但是在导航技术中,我需要这些坐标来执行正确的相机
..
我需要在OpenSceneGraph中的景观上方设置一个点Source,它将像太阳一样起作用.我已经知道如何设置灯光,可以通过以下方式完成: //LIGHT CODE ------------------------ osg::ref_ptr lightGroup (new osg::Group); osg::ref_ptr lightS
..
我有一个类似3D CAD的应用程序,为此我使用了OpenGL包装器库(OpenSceneGraph).对于该应用程序,我正在尝试提出有关如何在3D中渲染粗线和平滑线的最佳策略. 通过厚而光滑我的意思是: 线宽可以大于OpenGL最大线宽值(在我的机器上似乎为10.f) 在编写折线时,我想避免出现“折线"的外观(请参见下面的示例图片) 此刻,我使用GL_LINE_STRIP_AD
..
我花了很多时间来使它工作,但我的Sphere却无法显示. 使用以下代码来实现我的功能: 使用Visual C ++在Opengl中创建3D球形 剩下的是简单的OSG 和 osg :: Geometry . (注意:不可ShapeDrawable,因为您不能使用它来实现自定义形状.) 在VecArrays中添加了顶点,法线和texcoords. 一个,我怀疑行为不正确,因为我保存
..
我有一个最小的应用程序,它使用QOpenGLWidget集成了OpenGL包装器库(OpenSceneGraph).我试图弄清楚在像我使用的那样处理OpenGL内容时如何正确使用Qt5.6对高DPI屏幕的支持. 我的main()函数具有以下代码: int main(int argc, char** argv) { // DPI support is on QApplic
..