问题标签 [rendermonkey]
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.
hlsl - RenderMonkey 无法识别我的变量
我的 HLSL 着色器需要一个参数:
, uniform float4x4 wm
把它放到 RM 中我得到一个错误:“缺少名为 '$wm' 的着色器常量参数”
我创建了一个 4x4 矩阵变量wm
,但它没有改变任何东西(而且你不能添加$wm
)。我该如何设置?
opengl - RenderMonkey 在 GLSL 的 TEXCOORD 流映射中是否存在错误?
为了清楚起见,我从我的问题开始:
是否可以使用(在着色器代码中)我为 RenderMonkey 1.82 中的(OpenGL)流映射中的TEXCOORD 使用设置的自定义属性名称,还是必须使用 gl_MultiTexCoord0?(这个问题也可能对NORMAL 使用有效,即自定义名称或gl_Normal)
背景:
使用 RenderMonkey 1.82 版。我已经成功地使用流映射来映射一般顶点属性“位置”(也许是“正常”),但纹理坐标似乎没有正确转发。对于着色器代码,我使用#version 330 和 GLSL 中的“in”限定符,这应该没问题,因为 RM 不编译着色器本身(OpenGL 驱动程序会)。
我已经尝试过 .obj 和 .3ds 文件(从搅拌机导出),并且在检查波前 .obj 文件时,所有纹理坐标信息以及顶点位置和法线都在那里。
如果不可能,则流映射被破坏,并且在流映射编辑器中命名变量没有意义(除了顶点位置流,它可以工作),因为无论如何都必须使用内置变量。
更新:如果使用已弃用的内置变量,则必须在着色器中使用兼容模式,例如
并且,在主要功能中:
(现在我也不确定法线的流映射。一旦纹理坐标正常工作,我就遇到了正常问题,不得不恢复到 gl_Normal。)
这是一个工作解决方案的图片,但带有内置变量(是的,图片中注释的 texcoord 变量与流映射对话框中的名称不同,但是当我尝试使用时它具有相同的名称它,所以没关系。):
3d - RenderMonkey 中的阴影贴图
我正在尝试为茶壶创建一个在地形上生成阴影的着色器。在大多数情况下,我有它的工作,虽然我有一个奇怪的问题,我有一个主阴影,但也有很多较小的茶壶阴影。这有点让我难过。
我已将我的项目上传到 DropBox,您可以在此处下载。任何人都可以给我任何指示吗?
directx - 如何从 3dsMax 导出 .3ds 文件以使用 RenderMonkey?
如何从 3dsMax 2010 导出 .3ds 文件以使用 RenderMonkey?当我查看 RenderMonkey 中的流映射时,有 POSITION、NORMAL、TEXCOORD、TANGENT、BINORMAL、TESSFACTOR 等。我想知道如何导出这些信息以将顶点着色器作为流数据发送。提前致谢。
directx - HLSL 无效 ps_2_0 输入语义 POSITION0
我正在尝试在 RenderMonkey 中为 Dx9 编写一个 phong 着色器效果。
我在像素着色器中遇到编译错误
*"无效的 ps_2_0 输入语义 'POSITION0'"*
而且我不确定如何解决它,尽管我知道它必须与 VS_OUTPUT 中的 POSITION0 语义有关。
我尝试将 VS_OUTPUT 的 Pos 语义更改为 TEXCOORD0,但随后系统报告
顶点着色器必须至少写入 POSITION 的所有四个组件
下面提供了着色器。有什么建议么?
这是我的顶点着色器:
和我的像素着色器:
glsl - RenderMonkey / GLSL 相机和视图
如何使 vec3 viewpos 遵循相机的值?大概它们应该是相同的,但我不知道如何访问相机的位置值。
opengl - 在 OpenGL 和 OpenGL ES 中使用自定义和通用顶点着色器属性
由于 OpenGL 中不推荐使用通用顶点属性,因此我尝试仅使用自定义属性重写我的顶点着色器。而且我没有为我工作。这是顶点着色器:
这在 OpenGL ES 2.0 中完美运行。但是,当我尝试将它与 OpenGL 一起使用时,我看到了黑屏。如果我更改aNormal
为通用,gl_Normal
一切正常(请注意,aPosition
在两种情况下都可以正常工作,我不必使用gl_Vertex
)。
我究竟做错了什么?
我使用 RenderMonkey 来测试着色器,并在其中使用适当的属性名称(aPosition 和 aNormal)设置流映射。也许它与属性索引有关,因为我将它们全部设置为0
? 此外,这是 RenderMonkey 文档中关于在“流映射”中设置自定义属性名称的内容:
“属性名称”字段显示可在着色器编辑器中用于引用该流的默认名称。在 OpenGL ES 效果中,应使用更改后的名称来引用流;但是,在 DirectX 或 OpenGL 效果中,新名称对着色器编辑器没有影响
我想知道这个问题是否特定于 RenderMonkey 或 OpenGL 本身?为什么aPosition
仍然有效呢?
opengl-es - glsl es const mat2 数组
我尝试在 Open GL ES 2.0(在 RenderMonkey 中)编译以下代码:
但是编译器说:
我做错了什么?
opengl - WGL 扩展和虚拟机
我目前正在尝试在 VirtualBox 4.3.8 中运行的 WinXP 虚拟机上使用旧的 Rendermonkey 1.82。遗憾的是它不适用于 OpenGL,无法找到 WGL 扩展(确切的错误消息是:“未检测到 WGL PBuffer 扩展 - 请更新您的驱动程序。将无法继续进行 OpenGL 渲染。”)......即使该程序使用 DirectX 工作,我需要它与 OpenGL 一起使用
你知道这个问题有解决方案/解决方法吗?
还要考虑一下: - 基于 DirectX 的 3D 加速工作正常 - 其他基于 OpenGL 的程序工作正常 - 在 vm 设置中启用了 3D 加速 - 已安装并运行更新的 GuestAddition
shader - 着色器编程,为图像创建光交互
我正在尝试在 RenderMonkey 中学习着色器编程,如果我拍了一张照片并想对那个对象应用一些光交互。
我应该如何以一种好的方式做到这一点,我不想使用默认的 openGL 灯,想自己定义一个。
假设我从变量 lightColor、float 光泽系数和 vec3 lightPos以及光源的位置x
创建颜色。在默认管道中,灯光位置以相机坐标表示。我应该如何以最好的方式做到这一点?y
z
如果我想要一个质量最好的像素着色器,我应该使用哪个着色器来实现着色计算?