问题描述
所以,我目前正在处理一个 OpenGL C++ 项目,在该项目中我尝试加载我自己制作的自定义格式,唯一的问题是单个
cout
语句可能会毁了整件事。
for (int i = vertpos; i<vertpos+vertsize; i++) {
vertices[i] = stof(contents[i]);
}
此代码将从文本文件(内容 = 文件信息)解析的字符串转换为顶点浮点数组(或 GLfloat,同样的事情发生)。
Vertpos 是顶点信息开始的位置(所以在标题之后),vertsize 是移动到我的元素表之前的信息大小。 一切都按预期工作,这是正在渲染的模型的图片
请请记住该程序不完整,因此由于未正确设置 RGB 值和 UV 值(程序用于确定纹理放置的其他一些值),模型具有奇怪的形状和顶点着色):
for (int i = vertpos; i<vertpos+vertsize; i++) {
vertices[i] = stof(contents[i]);
cout << vertices[i] << flush;
}
for (int i = vertpos; i<vertpos+vertsize; i++) {
vertices[i] = stof(contents[i]);
cout << vertices[i] << ":separatorstring,anyseparatorgivesthesameresult::::" << flush;
}
这似乎触发了随机间隔,在我写这篇文章的时候,一旦我改变了代码,什么都没有发生,但是随后篡改了打印元素的代码(元素表之间的连接),它又发生了。
我很难在网上找到有相同经历的人,这很奇怪。 似乎只是,发生了。
小图片(如 1 和 2)之间的任何不一致都是由于旋转模型造成的,我尝试在它旋转的确切时间拍摄图片,并查看它们相同的值。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)