问题标签 [skybox]

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 回答
282 浏览

c++ - C++ OpenGL cubeSampler 返回黑色

我正在尝试为OpenGL 3.3. 该项目是用 C++ 编写的。我遇到的问题是,尽管加载了立方体贴图纹理并绑定了采样器,但我得到了黑色像素,如图所示(立方体内部有法线): 来自采样器的颜色

这是我对采样器所做的事情的问题,因为当我使用顶点坐标作为颜色时,它工作得很好: 来自位置的颜色

我已经搜索过类似的问题,但没有一个答案真的对我有用。

以下是代码中有趣的部分:

顶点着色器

片段着色器

CubeTexture 类

main.cpp 的片段

0 投票
2 回答
3960 浏览

c# - 如何在 Unity 中制作径向渐变天空盒?

好的,我是天空盒的新手,在尝试实现径向渐变天空盒时遇到了一些问题。我有一个径向渐变着色器,但是当我把它作为天空盒时,在两种颜色之间插值的部分被放大了,这意味着你根本无法真正分辨出它的渐变。

在此处输入图像描述

我认为这是因为它是一个不适用于天空盒的着色器。然后我找到了一个线性渐变天空盒的着色器,它作为线性渐变工作,但我需要它是径向的,比如从中心颜色向外。

我到处找,但找不到径向渐变 SKYBOX 着色器。我的问题是 - 如何将线性渐变着色器变成天空盒的径向?或者我怎样才能使我现有的径向渐变适用于天空盒?

我没有写这个,但这是线性渐变天空盒的代码:

像这样 -

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
412 浏览

c++ - 使用着色器c ++的立方体贴图黑色

我一直试图弄清楚这件事。我正在尝试创建一个天空盒,但由于某种原因,无论我做什么,我的立方体贴图总是黑色的。在片段着色器中,如果我输入像 vec4(1.0f) 这样的输出颜色值,那么我确实看到我的立方体变成了白色。这让我觉得可能是我在加载图像,但我检查了一下,它加载图像很好。我敢肯定我只是愚蠢并错过了一些东西。

创建立方体贴图

使用 SDL_image 加载图像

渲染立方体贴图

VS & FS 着色器

0 投票
1 回答
279 浏览

unity3d - ShaderLab 使用默认的统一天空盒

所有反射示例都使用以下属性设置立方体贴图:

但我想为所有着色器使用“Lighting”中的天空盒。怎么做?

0 投票
1 回答
1202 浏览

opengl - OpenGL-在天空盒内移动相机

我有一个天空盒,发现它不可能在里面移动(只能旋转,而不是靠近里面的人,这不是缩放,它完全是移动),如本教程中所写https:// learnopengl.com/#!Advanced-OpenGL/Cubemaps。一旦我为相机启用平移,天空盒就变得相当难看,角落和所有边都可见,所以同时移动相机和移动天空盒的想法并不是很好。什么是合适的解决方案?我认为这是一个相当明显的问题,但我在任何地方都找不到任何解决方案。或者也许我需要使用另一种结构,而不是为此目的使用天空盒。在此处输入图像描述

在此处输入图像描述

这里有两种状态——启用翻译时我得到的第一种状态。我希望在第二张图片中更靠近山脉。

0 投票
0 回答
815 浏览

unity3d - 统一天空盒旋转

我目前正在制作一个统一游戏,我将能够从一个 360 度全景导航到另一个。

我添加了图片并将纹理大小设置为立方体并映射到经纬度布局。我制作了天空盒材质并将图像加载到其中。

现在我在这里面临的问题是-

每当我加载天空盒时,它都会看向其他方向,而不是图像的原始方向。我可以通过将天空盒旋转更改为 100 来修复它。由于我计划添加大约 100 张图片,我不希望他们手动修复每张图片。

所有图片都是从谷歌街景下载的。

急需帮助!!

0 投票
1 回答
257 浏览

opengl - 动态立方体贴图 - opengl

使用静态立方体贴图时,假设天空盒纹理处的物体距离较远,因此摄像机移动时视图不发生变化是没有问题的。

但是,当使用动态立方体贴图时,我们会包含相机附近的对象。因此,例如;我们在相机前有巨大的玻璃,我们在玻璃前有物体,我们需要计算折射。因为,我们在 glsl 中只给纹理函数一个 vec3,所以忽略了玻璃上的坐标。例如; 玻璃中间的折射矢量是 vec3(0, -0.2, -0.6),玻璃右下角的折射也是 vec3(0, -0.2, -0.6)。因此,两个坐标的颜色将相同,但不应该。我们如何处理这个问题?

0 投票
0 回答
10344 浏览

android - Urho3d skynode 不需要的人工制品

我在 Android 智能手机和平板电脑上运行的 UrhoSharp 1.4.47 sprite 引擎中的天空节点存在问题。iPhone没有这个问题。

当在向上 ={0,1,0} 或向左 ={1,0,0} 或向右或向后或向前的方向上查看天空节点时,精灵引擎会显示一个白色的不需要的人工制品。

天空节点纹理是一个立方体贴图,所以问题是当我准确地看脸的法线时。

该代码位于 Xamarin Studio C# 项目中。:

0 投票
0 回答
1663 浏览

ios - 如何在 SceneKit 中使用 360 度图像作为天空盒?

我正在使用带有 SceneKit 的 Xcode 8 和 Swift 3

我正在制作一个发生在空中浮岛上的游戏。我希望背景是一个有云的美丽天空,并且我希望它在相机像天空盒一样移动时相应地移动。

我可以使用一组 6 个环绕的图像来制作天空盒,但我在网上找不到任何好的图像,也找不到任何好的生成器来制作它们。我可以找到像这样的好 360 度图像。我的问题是:如何使用上面的图像在 SceneKit 中制作天空盒?我很确定这是可能的,因为 Apple 在他们的网站上有它:

https://developer.apple.com/documentation/scenekit/scnmaterialproperty/1395372-contents

(你必须向下滚动一点才能看到它)

那么有没有办法做到这一点,以及如何做到这一点?谢谢。任何帮助表示赞赏。

0 投票
2 回答
1867 浏览

c# - 从远程图像编辑立方体贴图天空盒

我需要从服务器下载图像,然后将其转换为 Cubemap,最后将此 CubeMap 放入我的 Skybox。

我使用 C#。

我想出了这段代码:

我评论了所有代码以解释我认为我在做什么。

我做了这个逐像素创建 Cubemap 的“技巧”,因为编辑器的方法(顺便说一句,这非常简单)似乎无法从我可以阅读的其他人的帖子中获得。

最终,结果只是一堆灰色像素。

我真的不知道在我的过程中搞砸了这么多,我看到的唯一“阴影”点是 TextureFormat。

我之所以选择 RGBA32,是因为当我查看 Unity 编辑器时,我看到了 BC7 格式,对于 SetTexture 来说这是不可能的错误记录,并且从文档中他们解释说它可能在 RGBA32 中解压缩。

当然控制台中没有剩余的错误。

我真的很惊讶没有一个简单的方法来做到这一点。我的意思是不一定要从 http 中获取图像并将其放入天空盒中,而只是更改天空盒的纹理。我错过了什么吗?