mirror of
https://github.com/glest/glest-source.git
synced 2025-02-25 12:12:25 +01:00
//#define SL_LEAK_DUMP - got better / more accurate stack dumps when we detect errors in game. - Both of these need to be worked on in windows next, win32 may not compile for now until i fix it on that platform. - BE VERY CAREFUL when working in leak_dumper.* it may cause GCC and your system to crash if you don't know what you are doing!
47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
// ==============================================================
|
|
// This file is part of Glest Shared Library (www.glest.org)
|
|
//
|
|
// Copyright (C) 2001-2008 Martiño Figueroa
|
|
//
|
|
// You can redistribute this code and/or modify it under
|
|
// the terms of the GNU General Public License as published
|
|
// by the Free Software Foundation; either version 2 of the
|
|
// License, or (at your option) any later version
|
|
// ==============================================================
|
|
|
|
#include "shader.h"
|
|
|
|
#include <stdexcept>
|
|
#include <fstream>
|
|
#include "platform_util.h"
|
|
#include "leak_dumper.h"
|
|
|
|
using namespace std;
|
|
|
|
namespace Shared{ namespace Graphics{
|
|
|
|
// =====================================================
|
|
// class ShaderSource
|
|
// =====================================================
|
|
|
|
void ShaderSource::load(const string &path){
|
|
pathInfo+= path + " ";
|
|
|
|
//open file
|
|
ifstream ifs(path.c_str());
|
|
if(ifs.fail()){
|
|
throw megaglest_runtime_error("Can't open shader file: " + path);
|
|
}
|
|
|
|
//read source
|
|
while(true){
|
|
fstream::int_type c= ifs.get();
|
|
if(ifs.eof() || ifs.fail() || ifs.bad()){
|
|
break;
|
|
}
|
|
code+= c;
|
|
}
|
|
}
|
|
|
|
}}//end namespace
|