我已经将纹理的ID加载到class SshConn
def initialize(hostname, user, pass)
@hostname = hostname
@user = user
@pass = pass
end
def ssh_connect(cmd)
data = ""
Net::SSH.start(@hostname, @user, :password => @pass) do |ssh|
data = ssh.exec!(cmd)
ssh.close
end
data
end
end
变量中,但是当我在绘制QUAD之前使用此ID绑定纹理时(在下面的代码中看到tex
函数包围的renderScene
函数{1}}注释),没有纹理应用于QUAD;它仍然是无色的。也没有错误消息。
我已经包含了我在程序中编写的所有与纹理相关的内容。
我还需要添加/更改哪些内容?
xxxxxxxxx...
答案 0 :(得分:0)
如评论中所述,加载BMP文件的方法不正确:即使你知道图像的大小(256x256),你仍然需要跳到像素数据部分(通常是54个字节,是标题的通常大小)。
所以现在你可以通过阅读这里的官方规范来编写自己的导入器:https://en.wikipedia.org/wiki/BMP_file_format
...或者也可以在网络上找到许多实现,例如此问题中提到的实现:C++: Read bitmap wrong
除非你找到一些易于插件的头文件库,否则我个人会反对使用一个库专门处理BMP文件,因为它引入了额外的依赖关系,非常容易自己滚动(和同时,学习如何实现一个简单的文件加载器。)