问题标签 [soil]

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 投票
1 回答
818 浏览

c++ - Loading 16-bit heightmaps with SOIL

I am trying to load a height map for terrain using SOIL. I use the following code:

However, my terrain looks steppy because the height is expressed with 8 bits only. How can I load 16-bit height map with SOIL? Or should I use another image library for this task?

0 投票
0 回答
613 浏览

c++ - OpenGLGL - SOIL 纹理全黑

我链接、包含并做了一切必要的事情来使用 SOIL 及其功能。

我在 init() 中像这样加载纹理:

为简单起见,wood.png 是 256x256 png 纹理,加载时不会显示错误消息。

这是我绘制纹理四边形的地方:

结果只是一个全黑的纹理而不是木质纹理:

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
135 浏览

c - 标识符“图像”未识别

我一直在尝试将 6 个图像加载到立方体的每个面上,并且我试图寻找一种方法来做到这一点,并发现使用SOIL我可以加载纹理图像。目前我想加载一组图像(6),并使用它将立方体每个侧面的纹理设置为其中一个纹理。

到目前为止,这是我的代码,它会加载一个立方体,如果您注释 LoadGLTextures() 函数,它会继续旋转它而没有纹理:

0 投票
1 回答
1877 浏览

c++ - Alpha 通道被渲染为黑色。如何让它透明?

我正在加载具有 32 位和一些透明区域的 png 纹理。我在初始化函数中设置了这段代码:

这就是我加载纹理的方式:

这是我得到的效果:

例子

我正在尝试使草背景从黑色变为透明。

你能帮助我吗?

0 投票
0 回答
488 浏览

c++ - 发布模式下的 SOIL 运行时错误 - 未处理的异常 (ntdll.dll)

我正在尝试将纹理加载到 GLuint(无符号整数)中。我做了以下事情:

此代码适用于调试模式。但是在发布模式下,我在“_file.c”上遇到了运行时错误(我没有创建它),运行时错误是:

Win32.exe 中 0x771A8E19 (ntdll.dll) 处的未处理异常:0xC0000005:访问冲突写入位置 0x00000014

为什么此运行时错误仅出现在发布模式下,我该如何解决?

编辑:我用文件的路径添加了程序的完整代码,没有使用 GLuint。仍然存在同样的问题:

0 投票
0 回答
865 浏览

c++ - 如何在 cpp 中使用 SOIL 访问单个像素的颜色

我想从单个像素访问 RGB 值。我知道我可以通过调用获得一个无符号字符数组

但是我不明白这些字符是什么意思。文档说:

然而,当我加载一个 10 x 10 像素的图像来测试它时,我在数组中得到了大量的字符(几乎 54000),这似乎太多了。我如何获得可以执行以下操作的单个像素颜色:

我似乎找不到这个

0 投票
1 回答
664 浏览

c - 使用土壤的OpenGL纹理球体?

只是想问一个关于球体的OpenGL纹理映射的问题。我想创建一个行星(地球),我试图为此使用 SOIL,因为我发现它是最简单的,但它根本不起作用。我得到的只是黑屏。有人可以检查代码吗?这里是:

顺便说一句,它使用 Xcode 编译。

0 投票
1 回答
456 浏览

c++ - lnk2019 函数 _main 中引用的未解析的外部符号 _soli_load_image

我必须在vs2012中解决这个问题。标题说。我在标题中包含了 SOIL.h 文件。

但是当我调试程序时。它说这个错误。我正在使用 SOIL 来绘制一些东西。

帮帮我...请... xd

下面的代码

0 投票
1 回答
108 浏览

c++ - C++ OpenGL(带有 SOIL 插件) - 阴影出来的纹理

我正在尝试学习 OpenGL,但我还没有掌握它的窍门,因为我在第一个障碍中遇到了一个问题,我尝试显示一个鲜红色的正方形,但图像显示为栗色正方形。(我很抱歉,但由于没有足够的声誉,我无法发布图片:()

我一直在使用 SOIL 库 ( http://www.lonesock.net/soil.html ) 来简化加载纹理的任务,我很确定这就是问题所在。

我知道最明显的答案是不使用 SOIL,并且在尝试使用扩展之前先学习原始 OGL,我确实打算这样做。但是,我仍然希望解决此问题以使您高枕无忧。

我个人的假设是我可能在某处启用了某种阴影,或者 OGL 或 SOIL 的一些怪癖迫使纹理的阴影发生变化,但是我没有足够的经验来解决这个问题。

以下是我认为是相关代码的内容。

下面是特定于 SOIL 的代码,据我所知,它应该将纯红色纹理加载到活动 OGL 纹理中

提前感谢您对我可能出错的地方的任何洞察。

@Nazar554 我假设这就是您所说的视口的意思?抱歉,我知道这是非常基本的 OGL 内容,我可能听起来很愚蠢,但你必须从某个地方开始,对吗?:P

0 投票
0 回答
312 浏览

c++ - Visual Studio 2013 中的 fltk、opengl、纹理和土壤

我在 Mac OSX 上使用 FLTK 1.3.2 在 c++ 中制作了一个应用程序,并且对它的功能感到满意,现在需要生成一个 Win32 版本(使用 FLTK 的一个动机)

我现在可以获得基本的 FLTK 代码以在 Windows 上运行,但遇到了几个问题:

1)尽管每当我启动应用程序时将我的项目构建为发布版本,但它是从命令提示符启动的。我该如何阻止这个?

2) 在 Mac 上,所有资源都可以包含在应用程序包中,然后作为文件从应用程序包路径加载。似乎在 Windows 中没有等价物;我必须包含图像(例如)作为资源。问题是两个不同的功能位需要一个指向我要使用的图像的路径,即:

a) Fl_PNG_Image 类,其中语法为 Fl_PNG_Image a_guide("path/myfile.png");

b) SOIL 图像加载器,语法为 texture= SOIL_load_OGL_texture("path/myfile.png", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, SOIL_FLAG_MIPMAPS);

我只想要一个独立的应用程序,而不需要将文件夹与需要放在正确位置的资源捆绑在一起。如何将文件作为资源包含在 Visual Studio 中,然后与 SOIL/Fl_PNG_Image 一起使用,如果不是,人们在这种情况下通常会做什么?

谢谢。