[DEV] update open GL interface
This commit is contained in:
parent
8ff2bfc20f
commit
627584f13d
2
external/etk
vendored
2
external/etk
vendored
@ -1 +1 @@
|
||||
Subproject commit 45c4fbb98db6b5b50599dfaef5903d3a78e63f08
|
||||
Subproject commit ceab3d4d7d578d818aa7fba11e86fa3557f14d36
|
@ -9,6 +9,7 @@
|
||||
#include <vector>
|
||||
#include <ewol/debug.h>
|
||||
#include <ewol/openGL/openGL.h>
|
||||
#include <etk/stdTools.h>
|
||||
#include <mutex>
|
||||
//#define DIRECT_MODE
|
||||
/**
|
||||
@ -165,6 +166,59 @@ std::ostream& ewol::operator <<(std::ostream& _os, const enum openGL::openGlFlag
|
||||
return _os;
|
||||
}
|
||||
|
||||
|
||||
std::vector<std::pair<enum ewol::openGL::renderMode, std::string>>& getListRenderMode() {
|
||||
static std::vector<std::pair<enum ewol::openGL::renderMode, std::string>> list = {
|
||||
std::make_pair(ewol::openGL::renderPoint, "POINTS"),
|
||||
std::make_pair(ewol::openGL::renderLine, "LINES"),
|
||||
std::make_pair(ewol::openGL::renderLineStrip, "LINES_STRIP"),
|
||||
std::make_pair(ewol::openGL::renderLineLoop, "LINE_LOOP"),
|
||||
std::make_pair(ewol::openGL::renderTriangle, "TRIANGLE"),
|
||||
std::make_pair(ewol::openGL::renderTriangleStrip, "TRIANGLE_STRIP"),
|
||||
std::make_pair(ewol::openGL::renderTriangleFan, "TRIANGLE_FAN"),
|
||||
std::make_pair(ewol::openGL::renderQuad, "QUAD"),
|
||||
std::make_pair(ewol::openGL::renderQuadStrip, "QUAD_STRIP"),
|
||||
std::make_pair(ewol::openGL::renderPolygon, "POLYGON"),
|
||||
};
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
namespace etk {
|
||||
template<> std::string to_string<ewol::openGL::renderMode>(const ewol::openGL::renderMode& _obj) {
|
||||
for (auto &it : getListRenderMode()) {
|
||||
if (it.first == _obj) {
|
||||
return it.second;
|
||||
}
|
||||
}
|
||||
EWOL_ERROR("Can not convert : " << static_cast<int32_t>(_obj) << " return UNKNOW");
|
||||
return "UNKNOW";
|
||||
}
|
||||
template<> std::u32string to_u32string<ewol::openGL::renderMode>(const ewol::openGL::renderMode& _obj) {
|
||||
return etk::to_u32string(etk::to_string(_obj));
|
||||
}
|
||||
template<> bool from_string<ewol::openGL::renderMode>(ewol::openGL::renderMode& _variableRet, const std::string& _value) {
|
||||
for (auto &it : getListRenderMode()) {
|
||||
if (it.second == _value) {
|
||||
_variableRet = it.first;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
EWOL_WARNING("Can not parse : '" << _value << "' set Triangle default value");
|
||||
_variableRet = ewol::openGL::renderTriangle;
|
||||
return false;
|
||||
}
|
||||
template<> bool from_string<ewol::openGL::renderMode>(ewol::openGL::renderMode& _variableRet, const std::u32string& _value) {
|
||||
return from_string(_variableRet, etk::to_string(_value));
|
||||
}
|
||||
};
|
||||
|
||||
std::ostream& ewol::operator <<(std::ostream& _os, const enum openGL::renderMode& _obj) {
|
||||
_os << etk::to_string(_obj);
|
||||
return _os;
|
||||
}
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint32_t curentFlag;
|
||||
GLenum OGlFlag;
|
||||
|
@ -141,6 +141,18 @@ namespace ewol {
|
||||
FLAG_ALPHA_TEST = 1<<27, //!<
|
||||
FLAG_FOG = 1<<28, //!<
|
||||
};
|
||||
enum renderMode {
|
||||
renderPoint = GL_POINTS,
|
||||
renderLine = GL_LINES,
|
||||
renderLineStrip = GL_LINE_STRIP, //!< Not supported in EWOL (TODO : Later)
|
||||
renderLineLoop = GL_LINE_LOOP,
|
||||
renderTriangle = GL_TRIANGLES,
|
||||
renderTriangleStrip = GL_TRIANGLE_STRIP, //!< Not supported in EWOL (TODO : Later)
|
||||
renderTriangleFan = GL_TRIANGLE_FAN, //!< Not supported in EWOL (TODO : Later)
|
||||
renderQuad = GL_QUADS, //!< Not supported in OpenGL-ES2
|
||||
renderQuadStrip = GL_QUAD_STRIP, //!< Not supported in OpenGL-ES2
|
||||
renderPolygon = GL_POLYGON //!< Not supported in OpenGL-ES2
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief enable a flag on the system
|
||||
@ -181,6 +193,7 @@ namespace ewol {
|
||||
void reset();
|
||||
};
|
||||
std::ostream& operator <<(std::ostream& _os, const enum openGL::openGlFlags& _obj);
|
||||
std::ostream& operator <<(std::ostream& _os, const enum openGL::renderMode& _obj);
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user