问题标签 [glscene]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2717 浏览

delphi - 将 GLScene 安装到 RAD Studio 2010 时,如何解决致命的编译器错误?

我正在尝试将 GLScene 安装到 RAD Studio 2010中,目的是从主要是 C++ 项目中使用它。我下载了最新的快照(5991,2011 年 11 月),并一直在尝试编译和安装两个主要包: GLScene_DesignTimeGLScene_RunTime. 我什至没有尝试过其他一些库(CUDA 等),我只想让基本包运行。

我遇到了许多问题,其中一个我无法解决,我正在寻求任何成功安装 GLScene的 SO 上的人的帮助,或者可能知道如何解决这些 Delphi 编译器错误。

第一个问题(解决了?)

编译时,一些文件给出了以下错误:

这是由方法声明引起的,例如:

Delphi 2010 似乎不支持虚拟抽象类方法,我已经通过删除 ' abstract' 并提供一个虚拟实现来解决它,例如只返回false.

第二个问题(未解决)——Delphi编译器致命错误

我现在遇到两个更严重的错误。编译时,编译器会失败,如下所示:

它没有说是什么文件导致了这个,但我认为它是由Spline.pas. 偶尔而不是经常,我得到这个:

这表明Spline.pas,并且我认为第一个错误也可能与文件有关,因为在获得第一个错误后,如果我再清理项目,清理将失败,说它无法删除Spline.hpp。(我必须关闭并重新打开 IDE。)Spline.hpp仅包含以下内容:

它在那里停止。在我看来,尝试生成 HPP 文件时它失败了。

我总是遇到这两个失败之一。 第二个是我可以绑定到特定文件的唯一一个;第一个在项目进行到一半时失败了,但我看不到它失败时的位置。我正在从 IDE 内部编译。

我看过了Spline.pas,它看起来很基本的代码 - 我根本看不到任何不寻常的东西。你可以在这里找到它,显然该文件已经七年没有被触及......所以我认为它应该编译:)

如果我更改项目设置使其不生成标头,则可以正常编译。(只生成 obj 文件,以及不包含“标题”的任何其他设置,都可以正常工作。)但这对我来说不是一个好的解决方法 - 毕竟,我需要从 C++ Builder 中使用它,所以我的正常设置是“生成所有 C++ Builder 文件”。至少,我需要 HPP 和 OBJ 文件。

这里有人在最新版本的 C++ Builder 中使用过 GLScene 吗?你遇到过类似的问题吗?知道如何解决这个问题吗?

我在用:

  • RAD Studio 2010(完全修补和最新;安装了 DDevExtensions 和 IDEFixPack。)
  • 2011 年 11 月快照;我也尝试了 2011 年 3 月的快照,但遇到了同样的问题。 链接到这里的快照
  • Delphi 2010 软件包通过更改链接器输出以生成 C++ Builder 文件进行修改;还有 BCB 6 包。两者都给出相同的错误。
0 投票
2 回答
698 浏览

delphi - 如何防止 Delphi 应用程序在启动时创建 GLScene 日志文件?

我的 delphi 应用程序在启动时创建以下 .log 文件:

控制在哪里?

0 投票
1 回答
1651 浏览

delphi - Delphi GLScene 导出场景为 stl

我有一个GLScene项目。在SceneViewer我将一些 stl 文件导入为自由格式。用户可以与这些对象进行交互(用鼠标移动和旋转它们)。

现在我必须将整个导出Scene到一个stl 文件中,因此自由形式的位置和旋转应该与Scene导出(“合并”)之后的一样。

我发现这个线程关于同样的问题:Export "Scene" to STL File但这会创建一个损坏的 stl 文件(尝试使用 meshlab 打开)。

我希望有一些想法来创建解决方案。如果有人知道另一种 3d 文件格式的解决方案,那也太好了。

0 投票
1 回答
611 浏览

delphi - GLScene(OpenGL库)网格轴错误的方式

我在 Delphi 7 项目中玩弄 GLScene(一个基于 OpenGL 的库),并且在尝试更改模型的“全局”(不确定正确的术语是什么!)轴时遇到了麻烦。

本质上,模型是横向加载的,所以我期望的 Y 轴实际上是 Z 轴。我附上了一个屏幕截图,其中地板的轴与模型的轴一起显示。有没有办法可以在加载网格时旋转网格,使其与眼睛预期的对齐?或者我可以使用特定的 TGLFreeForm 函数吗?

在此处输入图像描述

0 投票
1 回答
574 浏览

delphi - 如何找到和释放 glScene 对象......?

我写这段代码来动态创建led

我怎样才能找到并释放 fLed glscene 对象...?

谢谢...我使用delphi7和GLScene组件...

0 投票
1 回答
522 浏览

delphi - 为什么 CSG 操作会在 GLScene 中引发“堆栈溢出”

在某些情况下,陷入“死循环”的方法“TFGBSPNode.PerformSplit”会导致“堆栈溢出”异常。我跟踪了源代码,发现方法“TFGBSPNode.FindSplitPlane”总是得到相同的值......

闲置的数据会将“PerformSplit”陷入无限循环。它看起来像一个斜坡。

(7009.6484375, 17768.642578, -3770.213623) (3504.8242188, 17524.121094, -3770.213623) (7009.6484375, 17768.642578, -2970.2131348)

(7009.6484375, 17768.642578, -2970.2131348) (3504.8242188, 17524.121094, -3770.213623) (3504.8242188, 17524.121094, -2970.2131348)

我已经上传了一个[demo]:https ://sourceforge.net/apps/phpbb/glscene/download/file.php?id=387&sid=730698aae61c17e76802714334745f04来重现这个问题。在演示中,文件“MO.glsm”由两个从 TGLExtrusionSolid 对象翻译而来的 MeshObject 组成。

提前感谢您的任何建议。

谢谢大家。问题解决了。答案如下: VectorGeometry.pass 中的函数“CalcPlaneNormal”返回一个不正确的法线,bcoz Vertexs 的值和上面一样很大。例如,法线将是“CalcPlaneNormal”计算的“13119570882.098259961”,而这里会发生舍入问题......所以我将大坐标值转换为小坐标值。异常消失了。

0 投票
4 回答
378 浏览

delphi-7 - 我可以在 GLScene 中将 Emition Color 更改为 GLHudSprite 对象吗?

我用这个函数来获取材料

其次,我添加了一个鼠标移动过程

首先是 const 向量颜色

创建对象

然后程序

这是 ismouseoverImage 函数...

现在,当鼠标悬停在图像上时,材料会改变发射颜色,但我没有得到结果......(我什么也没看到)。

我做错了什么...?

谢谢...

0 投票
1 回答
113 浏览

delphi - 第二种材料未显示在 glhudsprite 中

我尝试以某种奇怪的方式在 TGLHudSprite 中显示图像......

这是我的尝试..

我有一个材料库和一个hudsprite ......

接下来我创建这个对象...

运行它,逻辑 mySprite 什么也没有显示……现在我添加了一个材质……用这个功能……

所以我添加了一个材料......

然后我在我的hudSprite中设置材料......

目前一切正常...

我想做的事情是释放并再次重新创建我的材料库,添加具有相同名称“pic”的不同材料并将其显示在我的hudsprite中......

所以我做这个....

有了这个,我什么也得不到,只有一张黑色的照片......

我做错了什么...?

顺便说一句,在我创建的第二个精灵中正确加载了 bcs 材料,并且没有设置任何其他材料,它正确显示了“图片”...

0 投票
1 回答
409 浏览

c# - Delphi 到 C# - soFromBeginning

我正在编写一个从 delphi 到 c# 的端口,但我坚持这一点。所以从一开始?

c# 不支持 soFromBeginning 我可以在 Stream 中用作替代品吗?似乎 soFromBeginning 是 delphi 编译器中的东西,以适应更大的文件大小或其他东西,不确定。

将 GLvfsPack 从 GLScene 移植到 c#

0 投票
1 回答
398 浏览

freepascal - 在 GLScene 中加载新场景

我正在尝试删除 GLScene 容器中的所有场景对象,并使用以下代码片段来执行此操作,但由于某些未知原因,当我尝试释放对象时,它崩溃会引发分段错误。

我尝试逐行调试,它发现不知何故容器类Glscene1.Objects[i]包含一些具有“#2”类名的莫名其妙的类。我尝试在不调用 Free 方法的情况下运行相同的代码片段,然后没有发生任何异常,对象没有被删除,但对象类名称保持一致。