问题标签 [devil]

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 投票
0 回答
127 浏览

c++ - OpenGL,加载纹理 - 纹理上的额外噪声

在我们自己的 3d 应用程序中,我正在使用魔鬼库加载多个纹理。当尝试加载一个纹理时,我正在调用ilutRenderer( ILUT_OPENGL );,它依次执行以下函数调用:

ilutRenderer( ILUT_OPENGL );只需要调用一次(对于每个新创建的窗口),但是在试验时我已经多次调用了相同的函数。(每个加载的纹理调用一次)

如果多次调用相同的函数 - 加载的 openGl 纹理看起来质量比调用一次时更差。(我有多个纹理,但大多数质量较差,不确定第一张图片)。

我对此感到困惑-因为从我的角度来看,该电话没有做任何特别的事情-为什么它不能容忍多个类似的电话?

好吧,我已经开始过滤出哪些函数可以被多次调用,哪些不能——并得出结论认为是glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);它触发了奇怪的行为。所以包装函数是这样的:

之后ilutRenderer( ILUT_OPENGL )可以根据需要多次调用。

我也尝试过像这样集中opengl初始化:

但是纹理仍然显示为“损坏”。也许窗口应该在开始加载纹理之前至少渲染一次,但我想知道 OpenGL 中的哪些函数反映了纹理损坏/看起来不错的状态。

我有“NVidia Quadro K2100M”,驱动程序版本 375.86。

这是显示驱动程序错误吗?您通常如何向 NVidia 报告错误?

0 投票
2 回答
2587 浏览

jquery - Jquery 和 $(document).ready(function()

我已经阅读了很多关于 $(document).ready(function() 的东西很清楚它什么时候有用,所以通常我在里面写 $(document).ready(function()

但是,为什么是魔鬼,为什么在这么简单的情况下就被KO了?如果您只是推迟 le $(doc.... 它可以完美运行

代码 :

0 投票
2 回答
163 浏览

c++ - OpenCV:用 cv::imread 替换 ilLoadImage

我正在hessgpu使用 GPU 有效地计算 hessian 仿射 SIFT 描述符。

在这个项目中,Devil用于读取图像:如果SiftGPU::RunSIFT(const char *imgpath)被调用(在此处实现),则ilLoadImageGLTexImage.cpp中用于读取图像(作为 RGB 图像)。

但是,在我的项目中,我cv::imread用来读取图像。该项目提供SiftGPU::RunSIFT(int width, int height, const void * data, unsigned int gl_format, unsigned int gl_type)从用户直接提供的数据计算描述符。

所以我尝试了:

但这产生的关键点比sift.RunSIFT("image.jpg");. 我尝试使用:

但这会产生 0 个关键点,所以会发生一些非常错误的事情。我认为:

  1. iLoadImage使用 RGB 图像,而到目前为止我发现的唯一工作方法cv::imread仅适用于灰度图像。
  2. 恶魔可能使用与 OpenCV 不同的过程来读取图像,尤其是对于 RGB 图像(因为使用第二种方法产生了 0 个关键点)。

我怎样才能做相当于ilLoadimageusing cv::imread

0 投票
1 回答
320 浏览

haskell - 写入文件,但如果存在 DevIL 和 REPA 则覆盖它

我正在使用 DevIL 库来读取和写入图像。问题是如果文件已经存在,我想覆盖它。

这是我的代码:

我怎样才能做到这一点?我可以这样做还是必须考虑其他方式?它是操作系统的东西吗?

我将该文件用作临时图像,直到用户决定保存它(经过一些更改,如旋转、扩展等)。

0 投票
0 回答
633 浏览

image - 哪个是最快的图像加载库?

我目前正在使用 stb_image 加载 3D 模型的纹理。对于“sponza”模型,需要加载 63 个纹理(包括漫反射颜色纹理、法线贴图、高度图等),这需要几秒钟。

我希望这些纹理加载得更快。

其他图像加载库是否比 stb_image 更快?FreeImage 怎么样?DevIL 呢?

以某种方式使用 stb_image 加载多线程图像是否有意义?

如果从硬盘到 RAM 的数据吞吐量是这里的限制因素,那将无济于事 - 但也许是加载算法?

图像文件均为 PNG 格式,每个文件大约 1MB。会不会是 PNG 格式的解压成本太高?在这种情况下,不同的图像加载库或多线程可能会有所帮助。

0 投票
1 回答
164 浏览

c++ - DevIL/OpenIL 没有加载 alpha 通道

我遇到了一个问题.png,我想使用 DevIL 作为字节数组加载的图像没有 alpha 通道。

完整的黑色图像也显示为 Alpha 通道值为 0。

这是我的图像加载功能:

Image我使用的对象如下:

这就是我现在打印图像数据的方式:

我也尝试使用将ilTexImage()加载的图像格式化为RGBA格式化,但这似乎也不起作用。当我将循环变量的最大值更改为图像中像素数的 4 倍时,打印循环开始读取垃圾值。

该图像也被确认具有 Alpha 通道。这里可能出了什么问题?

编辑:ilGetInteger(IL_IMAGE_BPP)正在返回 3,这应该意味着 RGB 现在。当我使用ilTexImage()强制 4 个通道,然后ilGetInteger(IL_IMAGE_BPP)返回 4 但我仍然看到在 std 输出中弹出垃圾值

0 投票
0 回答
120 浏览

c++ - WIN 中的相同 DevIL 项目在 Ubuntu 中失败

通过在 Linux 中使用DevIL,函数ilCopyPixels()总是返回 false,而它在 Windows 中可以正常工作。我正在尝试使用库操作输入图像,它确实工作正常,但是当我尝试在 ubuntu 中使用 g++ 编译它时没有机会,例如:

g++ main.cpp PictureOperation.h PictureOperation.cpp StopWatch.h StopWatch.cpp -std=gnu++11 -lIL

我没有收到错误,因此它也可以正常编译,但在这种情况下,来自 DevIL 的函数 ilCopyPixels 返回 false。这是我的“PictureOperation”类的初始化函数:

所以最后看来我的g ++和devil配置效果不佳..希望有任何解决方案。

此外: