00001 #pragma once 00002 00003 #include <windows.h> 00004 #include <commdlg.h> 00005 #include <stdlib.h> 00006 #include <io.h> 00007 #include <glew.h> 00008 #include <GL/glu.h> 00009 #include <iostream> 00010 #include <sstream> 00011 #include <string> 00012 #include "il.h" 00013 #include <string> 00014 #include <vector> 00015 #include "FlowChannel.h" 00016 00017 00019 00025 class Texture 00026 { 00027 public: 00031 Texture(); 00035 Texture(const char* pfad); 00039 Texture(std::vector<float> diffx, std::vector<float> diffy); 00043 Texture(int width, int height, FlowChannel* channel0, FlowChannel* channel1, FlowChannel* channel2, FlowChannel* channel3, bool map, bool flipped); 00047 ~Texture(); 00048 00055 vec3 GetValueAt(double i, double j); 00056 private: 00060 void createTexture(); 00061 public: 00062 std::vector<float> data; 00063 GLuint texture_id; 00064 int m_width; 00065 int m_height; 00066 int format; 00067 };