forked from floraachy/ImageKnife
update code because of function than 50 lines
Signed-off-by: tyBrave <tianyong13@huawei.com>
This commit is contained in:
parent
a241953878
commit
9aac9ccc1e
|
@ -396,6 +396,23 @@ EGLRender::EGLRender()
|
||||||
EGLRender::~EGLRender()
|
EGLRender::~EGLRender()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
void EGLRender::TexturesInit()
|
||||||
|
{
|
||||||
|
glGenTextures(1, &m_ImageTextureId); // 生成纹理名称
|
||||||
|
glBindTexture(GL_TEXTURE_2D, m_ImageTextureId); // 允许建立一个绑定到目标纹理的有名称的纹理
|
||||||
|
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
||||||
|
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, GL_NONE);
|
||||||
|
glGenTextures(1, &m_FboTextureId);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, m_FboTextureId);
|
||||||
|
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
||||||
|
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, GL_NONE);
|
||||||
|
}
|
||||||
void EGLRender::Init()
|
void EGLRender::Init()
|
||||||
{
|
{
|
||||||
if (CreateGlEnv() == 0) {
|
if (CreateGlEnv() == 0) {
|
||||||
|
@ -404,21 +421,7 @@ void EGLRender::Init()
|
||||||
if (!m_IsGLContextReady) {
|
if (!m_IsGLContextReady) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
glGenTextures(1, &m_ImageTextureId); // 生成纹理名称
|
EGLRender::GetInstance() -> TexturesInit();
|
||||||
glBindTexture(GL_TEXTURE_2D, m_ImageTextureId); // 允许建立一个绑定到目标纹理的有名称的纹理
|
|
||||||
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
|
||||||
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, GL_NONE);
|
|
||||||
|
|
||||||
glGenTextures(1, &m_FboTextureId);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, m_FboTextureId);
|
|
||||||
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
|
||||||
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, GL_NONE);
|
|
||||||
m_ProgramObj = GLUtils::CreateProgram(vShaderStr, fShaderStr0, m_VertexShader,
|
m_ProgramObj = GLUtils::CreateProgram(vShaderStr, fShaderStr0, m_VertexShader,
|
||||||
m_FragmentShader);
|
m_FragmentShader);
|
||||||
if (!m_ProgramObj) {
|
if (!m_ProgramObj) {
|
||||||
|
@ -428,15 +431,12 @@ void EGLRender::Init()
|
||||||
glGenBuffers(DEFAULT_THREE, m_VboIds);
|
glGenBuffers(DEFAULT_THREE, m_VboIds);
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[DEFAULT_ZERO]);
|
glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[DEFAULT_ZERO]);
|
||||||
glBufferData(GL_ARRAY_BUFFER, sizeof(vVertices), vVertices, GL_STATIC_DRAW);
|
glBufferData(GL_ARRAY_BUFFER, sizeof(vVertices), vVertices, GL_STATIC_DRAW);
|
||||||
|
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[DEFAULT_ONE]);
|
glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[DEFAULT_ONE]);
|
||||||
glBufferData(GL_ARRAY_BUFFER, sizeof(vFboTexCoors), vTexCoors, GL_STATIC_DRAW);
|
glBufferData(GL_ARRAY_BUFFER, sizeof(vFboTexCoors), vTexCoors, GL_STATIC_DRAW);
|
||||||
|
|
||||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_VboIds[DEFAULT_TWO]);
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_VboIds[DEFAULT_TWO]);
|
||||||
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW);
|
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW);
|
||||||
glGenVertexArrays(DEFAULT_ONE, m_VaoIds);
|
glGenVertexArrays(DEFAULT_ONE, m_VaoIds);
|
||||||
glBindVertexArray(m_VaoIds[DEFAULT_ZERO]);
|
glBindVertexArray(m_VaoIds[DEFAULT_ZERO]);
|
||||||
|
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[DEFAULT_ZERO]);
|
glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[DEFAULT_ZERO]);
|
||||||
glEnableVertexAttribArray(VERTEX_POS_LOC);
|
glEnableVertexAttribArray(VERTEX_POS_LOC);
|
||||||
glVertexAttribPointer(VERTEX_POS_LOC,
|
glVertexAttribPointer(VERTEX_POS_LOC,
|
||||||
|
@ -445,7 +445,6 @@ void EGLRender::Init()
|
||||||
DEFAULT_THREE * sizeof(GLfloat),
|
DEFAULT_THREE * sizeof(GLfloat),
|
||||||
(const void *)DEFAULT_ZERO);
|
(const void *)DEFAULT_ZERO);
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, GL_NONE);
|
glBindBuffer(GL_ARRAY_BUFFER, GL_NONE);
|
||||||
|
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[DEFAULT_ONE]);
|
glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[DEFAULT_ONE]);
|
||||||
glEnableVertexAttribArray(TEXTURE_POS_LOC);
|
glEnableVertexAttribArray(TEXTURE_POS_LOC);
|
||||||
glVertexAttribPointer(TEXTURE_POS_LOC,
|
glVertexAttribPointer(TEXTURE_POS_LOC,
|
||||||
|
@ -455,7 +454,6 @@ void EGLRender::Init()
|
||||||
DEFAULT_TWO * sizeof(GLfloat),
|
DEFAULT_TWO * sizeof(GLfloat),
|
||||||
(const void *)DEFAULT_ZERO);
|
(const void *)DEFAULT_ZERO);
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, GL_NONE);
|
glBindBuffer(GL_ARRAY_BUFFER, GL_NONE);
|
||||||
|
|
||||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_VboIds[DEFAULT_TWO]);
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_VboIds[DEFAULT_TWO]);
|
||||||
glBindVertexArray(GL_NONE);
|
glBindVertexArray(GL_NONE);
|
||||||
}
|
}
|
||||||
|
@ -463,24 +461,15 @@ void EGLRender::Init()
|
||||||
int EGLRender::CreateGlEnv()
|
int EGLRender::CreateGlEnv()
|
||||||
{
|
{
|
||||||
const EGLint confAttr[] = {
|
const EGLint confAttr[] = {
|
||||||
EGL_RENDERABLE_TYPE, EGL_OPENGL_ES3_BIT_KHR,
|
EGL_RENDERABLE_TYPE, EGL_OPENGL_ES3_BIT_KHR, EGL_SURFACE_TYPE, EGL_PBUFFER_BIT,
|
||||||
EGL_SURFACE_TYPE, EGL_PBUFFER_BIT,
|
EGL_RED_SIZE, 8, EGL_GREEN_SIZE, 8, EGL_BLUE_SIZE, 8, EGL_ALPHA_SIZE, 8,
|
||||||
EGL_RED_SIZE, 8,
|
EGL_DEPTH_SIZE, 16, EGL_STENCIL_SIZE, 8, EGL_NONE
|
||||||
EGL_GREEN_SIZE, 8,
|
|
||||||
EGL_BLUE_SIZE, 8,
|
|
||||||
EGL_ALPHA_SIZE, 8,
|
|
||||||
EGL_DEPTH_SIZE, 16,
|
|
||||||
EGL_STENCIL_SIZE, 8,
|
|
||||||
EGL_NONE
|
|
||||||
};
|
};
|
||||||
const EGLint ctxAttr[] = {
|
const EGLint ctxAttr[] = {
|
||||||
EGL_CONTEXT_CLIENT_VERSION, 2,
|
EGL_CONTEXT_CLIENT_VERSION, 2,EGL_NONE
|
||||||
EGL_NONE
|
|
||||||
};
|
};
|
||||||
const EGLint surfaceAttr[] = {
|
const EGLint surfaceAttr[] = {
|
||||||
EGL_WIDTH, 1,
|
EGL_WIDTH, 1, EGL_HEIGHT, 1, EGL_NONE
|
||||||
EGL_HEIGHT, 1,
|
|
||||||
EGL_NONE
|
|
||||||
};
|
};
|
||||||
EGLint eglMajVers, eglMinVers;
|
EGLint eglMajVers, eglMinVers;
|
||||||
EGLint numConfigs;
|
EGLint numConfigs;
|
||||||
|
|
|
@ -71,7 +71,7 @@ public:
|
||||||
static napi_value setTypeArrayOfMatrix4f(napi_env env, napi_callback_info info);
|
static napi_value setTypeArrayOfMatrix4f(napi_env env, napi_callback_info info);
|
||||||
|
|
||||||
void Init();
|
void Init();
|
||||||
|
void TexturesInit();
|
||||||
int CreateGlEnv();
|
int CreateGlEnv();
|
||||||
|
|
||||||
void SetImageData(uint8_t *pData, int width, int height);
|
void SetImageData(uint8_t *pData, int width, int height);
|
||||||
|
|
|
@ -21,8 +21,8 @@
|
||||||
|
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include "GLUtils.h"
|
|
||||||
#include "DebugLog.h"
|
#include "DebugLog.h"
|
||||||
|
#include "GLUtils.h"
|
||||||
|
|
||||||
GLuint GLUtils::LoadShader(GLenum shaderType, const char *pSource)
|
GLuint GLUtils::LoadShader(GLenum shaderType, const char *pSource)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue