scg3  0.6
TextureCoreFactory.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright 2014 Volker Ahlers
11  *
12  * Licensed under the Apache License, Version 2.0 (the "License");
13  * you may not use this file except in compliance with the License.
14  * You may obtain a copy of the License at
15  *
16  * http://www.apache.org/licenses/LICENSE-2.0
17  *
18  * Unless required by applicable law or agreed to in writing, software
19  * distributed under the License is distributed on an "AS IS" BASIS,
20  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  * See the License for the specific language governing permissions and
22  * limitations under the License.
23  */
24 
25 #ifndef TEXTURECOREFACTORY_H_
26 #define TEXTURECOREFACTORY_H_
27 
28 #include <string>
29 #include <vector>
30 #include "scg_glew.h"
31 #include "scg_internals.h"
32 
33 namespace scg {
34 
35 
40 
41 public:
42 
47 
54  TextureCoreFactory(const std::string& filePath);
55 
59  virtual ~TextureCoreFactory();
60 
67  void addFilePath(const std::string& filePath);
68 
83  Texture2DCoreSP create2DTextureFromFile(const std::string& fileName,
84  GLenum wrapModeS, GLenum wrapModeT, GLenum minFilter, GLenum magFilter);
85 
102  BumpMapCoreSP createBumpMapFromFiles(const std::string& texFileName,
103  const std::string& normalFileName, GLenum wrapModeS, GLenum wrapModeT,
104  GLenum minFilter, GLenum magFilter);
105 
111  CubeMapCoreSP createCubeMapFromFiles(const std::vector<std::string>& fileNames);
112 
118  CubeMapCoreSP createCubeMapFromFiles(std::vector<std::string>&& fileNames);
119 
120 protected:
121 
122  std::vector<std::string> filePaths_;
123 
124 };
125 
126 
127 } /* namespace scg */
128 
129 #endif /* TEXTURECOREFACTORY_H_ */
Texture2DCoreSP create2DTextureFromFile(const std::string &fileName, GLenum wrapModeS, GLenum wrapModeT, GLenum minFilter, GLenum magFilter)
A factory to create textures.
2D texture core.
Definition: Texture2DCore.h:39
std::vector< std::string > filePaths_
Local header file for GLEW library.
CubeMapCoreSP createCubeMapFromFiles(const std::vector< std::string > &fileNames)
2D bump map core storing a texture (optional) and a normal map.
Definition: BumpMapCore.h:37
Definition: Animation.h:28
Internal definitions required by most classes.
void addFilePath(const std::string &filePath)
BumpMapCoreSP createBumpMapFromFiles(const std::string &texFileName, const std::string &normalFileName, GLenum wrapModeS, GLenum wrapModeT, GLenum minFilter, GLenum magFilter)