OSDN Git Service

first
[psychlops/cpp.git] / psychlops / extension / standard / shader / psychlops_g_shader.cpp
1 /*
2  *  psychlops_g_shader.cpp
3  *  Psychlops Standard Library (Universal)
4  *
5  *  Last Modified 2009/12/14 by Kenchi HOSOKAWA
6  *  (C) 2009 Kenchi HOSOKAWA, Kazushi MARUYA and Takao SATO
7  */
8
9
10 #include "psychlops_g_shader.h"
11 #include "../../../platform/gl/extension/psychlops_g_shader_gl.h"
12
13 namespace Psychlops {
14
15         Shader::Shader()
16         {
17                 api = new ShaderAPI;
18         }
19         Shader::~Shader() {
20                 delete api;
21         };
22         void Shader::cache(const std::string &orig_source, const std::vector<std::string> &vars, Drawable &target)
23         {
24                 api->cache(orig_source, vars, target);
25         }
26         void Shader::cacheField(const std::string &orig_source, const std::vector<std::string> &vars, Drawable &target)
27         {
28                 api->cacheField(orig_source, vars, target);
29         }
30         void Shader::cacheTex(const std::string &orig_source, const std::vector<std::string> &vars, Drawable &target, int sw)
31         {
32                 api->cacheTex(orig_source, vars, target, sw);
33         }
34         void Shader::drawField(const Rectangle &rect, const double *argv, const int argn)
35         {
36                 api->drawField(rect, argv, argn);
37         }
38         void Shader::drawImage(Image &img, const double *argv, const int argn, Canvas &target)
39         {
40                 api->drawImage(img, argv, argn, target);
41         }\r
42         void Shader::drawImage(Image &img, const double *argv, const int argn, Image &arg_img, Canvas &target)\r
43         {\r
44                 api->drawImage(img, argv, argn, arg_img, target);\r
45         }
46         void Shader::fieldToImage(Image &target, const Rectangle &rect, const double *argv, const int argn, Canvas &media)
47         {
48                 api->fieldToImage(target, rect, argv, argn, media);
49         }
50         void Shader::imageToImage(Image &target, Image &img, const double *argv, const int argn, Canvas &media)
51         {
52                 api->imageToImage(target, img, argv, argn, media);
53         }
54
55 }       /*      <- namespace Psycholops         */