相关疑难解决方法(0)

读取GLSL文件时获取垃圾字符

我遇到了以下问题.我从文件中加载着色器.着色器程序在尝试编译时会抛出顶点和片段着色器的这些错误:

顶点信息

0(12):错误C0000:语法错误,在令牌""处意外$ undefined

片段信息

0(10):错误C0000:语法错误,在令牌""处意外$ undefined

在检查文件的加载内容时,我可以看到在着色器文件的开头和末尾附加了各种垃圾文本.就像这样:

#version 330

layout (location = 0) in vec4 position;
layout (location = 1) in vec4 color;

smooth out vec4 theColor;

void main()
{
gl_Position = position;
theColor = color;
}ýýýý««««««««þîþîþîþ
Run Code Online (Sandbox Code Playgroud)

加载着色器的方法如下所示:

void ShaderLoader::loadShaders(char * vertexShaderFile,char *fragmentShaderFile){


vs = loadFile(vertexShaderFile,vlen);
    fs = loadFile(fragmentShaderFile,flen);

}
char *ShaderLoader::loadFile(char *fname,GLint &fSize){
ifstream::pos_type size;
char * memblock;
string text;

// file read based on example in cplusplus.com tutorial
ifstream file (fname, ios::in|ios::binary|ios::ate);
if (file.is_open())
{
size = …
Run Code Online (Sandbox Code Playgroud)

c++ opengl

2
推荐指数
1
解决办法
6447
查看次数

标签 统计

c++ ×1

opengl ×1