请教Assembly和Stream类的作用和用法,有代码

Leatency 2012-05-09 09:07:10
这是个基于OPENGL ES2.0的游戏开发包,里面带的范例有这么一段,不太明白

下面是个用来创建角色实例的类,ShaderProgram 和 GraphicsContext 都是API中提供的类型。

CreateSimpleSpriteShader()这个方法中的Assembly和Stream,查资料说是反射和字节流,但还是很糊涂,反射有人讲是起查看未知类型的信息的作用。下面这段代码中,这两个东西是必要的还是可选的

头一次请教问题,字儿有点多,怕表达不清,先谢谢各位啦~


public class SimpleSprite
{
static ShaderProgram shaderProgram;

protected GraphicsContext graphics;

…………………………………………

private static ShaderProgram CreateSimpleSpriteShader()
{
string resourceName = "TutoLib.shaders.SimpleSprite.cgx";

Assembly resourceAssembly = Assembly.GetExecutingAssembly();
if (resourceAssembly.GetManifestResourceInfo(resourceName) == null)
{
throw new FileNotFoundException("File not found.", resourceName);
}

Stream fileStream = resourceAssembly.GetManifestResourceStream(resourceName);
Byte[] dataBuffer = new Byte[fileStream.Length];

//@e Read files into the dataBuffer.
fileStream.Read(dataBuffer, 0, dataBuffer.Length);

var shaderProgram = new ShaderProgram(dataBuffer);
shaderProgram.SetUniformBinding(0, "u_WorldMatrix");

return shaderProgram;
}
}
...全文
79 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leatency 2012-05-09
  • 打赏
  • 举报
回复
谢谢2楼,明白一些了

我是个新手,没有实际操作经验,MSDN是真看不懂,看那些解释完全不知道在说什么- -
请叫我卷福 2012-05-09
  • 打赏
  • 举报
回复
MSDN
花痴 2012-05-09
  • 打赏
  • 举报
回复
Accembly可以是一个在程序运行时动态加载的程序集时使用的。
而这里的Stream是从Accembly加载的程序集中读取资源清单,都是必须的。
Leatency 2012-05-09
  • 打赏
  • 举报
回复
自己顶一下

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧