OpenTK:精灵不渲染?
OpenTK: Sprites not Rendering?
我已经能够让 window 渲染,我很确定我的着色器正在工作,并且我可以从我的资产中获取图像,但是当我实际渲染视图时,我只是得到了我的蓝色背景,没有精灵出现。
基本设计如下:
Views 继承了抽象的 class WindowBase,其中包含大部分繁重的工作并声明了一个 Shader(我现在在 Assets 中只有一个)。我现在唯一的观点是 Main.cs
然后我可以在视图中声明 ObjectBase 实例。对象具有由 Sprites 组成的动画,这些 Sprites 链接到纹理服务通过 OpenGL 生成的纹理。
还有一个输入服务还没有做太多事情,尽管我现在已经将它绑定到 Escape 键以关闭 window。但我怀疑程序的一部分与此问题有关。
更新:一点一点,我慢慢地把原来的转换成我的,当我换到我的着色器系统时发现它坏了,所以问题就出在这里。我将 post 我的代码与他们的代码对比:
我猜我一定是在什么地方打错了字。或者我的循环之一不兼容。也许我在资产 Class?
中处理流阅读器的方式
已解决:我的问题在第 114 行,我有以下代码:
public int Attribute(string name)
{
return _attributes.ContainsKey(name) ? _attributes[name].Address : -1;
}
public int Uniform(string name)
{
return _uniforms.ContainsKey("name") ? _uniforms[name].Address : -1;
}
public uint Buffer(string name)
{
return _buffers.ContainsKey(name) ? _buffers[name] : 0;
}
如下:
_uniforms.ContainsKey("name") 应该是 _uniforms.ContainsKey(姓名)
我已经能够让 window 渲染,我很确定我的着色器正在工作,并且我可以从我的资产中获取图像,但是当我实际渲染视图时,我只是得到了我的蓝色背景,没有精灵出现。
基本设计如下:
Views 继承了抽象的 class WindowBase,其中包含大部分繁重的工作并声明了一个 Shader(我现在在 Assets 中只有一个)。我现在唯一的观点是 Main.cs
然后我可以在视图中声明 ObjectBase 实例。对象具有由 Sprites 组成的动画,这些 Sprites 链接到纹理服务通过 OpenGL 生成的纹理。
还有一个输入服务还没有做太多事情,尽管我现在已经将它绑定到 Escape 键以关闭 window。但我怀疑程序的一部分与此问题有关。
更新:一点一点,我慢慢地把原来的转换成我的,当我换到我的着色器系统时发现它坏了,所以问题就出在这里。我将 post 我的代码与他们的代码对比:
我猜我一定是在什么地方打错了字。或者我的循环之一不兼容。也许我在资产 Class?
中处理流阅读器的方式已解决:我的问题在第 114 行,我有以下代码:
public int Attribute(string name)
{
return _attributes.ContainsKey(name) ? _attributes[name].Address : -1;
}
public int Uniform(string name)
{
return _uniforms.ContainsKey("name") ? _uniforms[name].Address : -1;
}
public uint Buffer(string name)
{
return _buffers.ContainsKey(name) ? _buffers[name] : 0;
}
如下:
_uniforms.ContainsKey("name") 应该是 _uniforms.ContainsKey(姓名)