我一直试图将数据添加到我的数组中一段时间,但它不起作用.我有以下代码:
function OBJMesh(file)
{
this.modelVertex = [];
this.modelColor = [];
var that = this;
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, true);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState == 4)
{
if(rawFile.status === 200 || rawFile.status === 0)
{
var allText = rawFile.responseText;
var lines = allText.split("\n");
for(var i = 0; i < lines.length; i ++)
{
var lineData = lines[i];
var lineString = lineData.split(" ");
if(lineString[0] === "v")
{
var x = parseFloat(lineString[1]);
var y = parseFloat(lineString[2]);
var z …Run Code Online (Sandbox Code Playgroud) //sLine is the string
for(int l = 0; l < sLine.length(); l++)
{
string sNumber;
if(sLine[l] == '-')
{
sNumber.push_back(sLine[l]);
sNumber.push_back(sLine[l + 1]);
l++;
}
else if(sLine[l] != '\t')
{
sNumber.push_back(sLine[l]);
}
const char* testing = sNumber.c_str();
int num = atoi(testing);
cout << num;
}
Run Code Online (Sandbox Code Playgroud)
我有这个for循环,它检查字符串的每个字符,并将此字符串中的每个数字转换为int.但由于某种原因,atoi功能正在做两次,所以当我玩它时,由于某种原因显示它两次......为什么会这样?
例如:INPUT 3 3 -3 9 5
-8 -2 9 7 1
-7 8 4 4 -8
-9 -9 -1 -4 -8
输出3030-309050 -80-20907010
-70804040-80
-90-90-10-40-80
我试图通过使用if(caps.VertexShaderVersion < D3DVS_VERSION(i, 0)){return false;}我想要检查的着色器模型来检测我的图形卡在C++中具有的最高着色器模型是什么,但我只能达到3.
问题是我已经检查了我的显卡(Gigabyte GeForce GTX 470)并且它有DirectX 11所以不应该有Shader Model 5吗?或者我正在检查Shader模型的方式有问题吗?
我有以下颜色值 - 0xFFFF40,0xFFFF20,0xff5099.
我想将这些C++代码转换为RGB值,我该怎么做才能做到这一点?
谢谢
编辑:我基本上想要将这些值存储在3个不同的无符号短裤中:
unsigned short red;
unsigned short green;
unsigned short blue;
Run Code Online (Sandbox Code Playgroud)