25 lines
		
	
	
		
			581 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			581 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include "ogl.h"
 | |
| 
 | |
| #include <Kore/Graphics3/Graphics.h>
 | |
| #include <Kore/Graphics4/Shader.h>
 | |
| #include <Kore/Math/Core.h>
 | |
| 
 | |
| using namespace Kore;
 | |
| 
 | |
| ShaderImpl::ShaderImpl(void *source, int length) : length(length), id(0) {
 | |
| 	this->source = new char[length + 1];
 | |
| 	for (int i = 0; i < length; ++i) {
 | |
| 		this->source[i] = ((char *)source)[i];
 | |
| 	}
 | |
| 	this->source[length] = 0;
 | |
| }
 | |
| 
 | |
| ShaderImpl::~ShaderImpl() {
 | |
| 	delete[] source;
 | |
| 	source = nullptr;
 | |
| 	if (id != 0)
 | |
| 		glDeleteShader(id);
 | |
| }
 | |
| 
 | |
| Graphics4::Shader::Shader(void *source, int length, Graphics4::ShaderType type) : ShaderImpl(source, length) {}
 |