From a241953878042c63ebb2cb87bdc174d1ffdc1367 Mon Sep 17 00:00:00 2001 From: tyBrave Date: Tue, 7 Feb 2023 11:06:00 +0800 Subject: [PATCH] update code,because of line space Signed-off-by: tyBrave --- .../src/main/cpp/common/native_common.h | 2 +- gpu_transform/src/main/cpp/napi/napi_init.cpp | 32 +++-- .../src/main/cpp/render/EGLRender.cpp | 124 ++++++------------ gpu_transform/src/main/cpp/render/EGLRender.h | 6 +- gpu_transform/src/main/cpp/util/NativeImage.h | 2 +- 5 files changed, 61 insertions(+), 105 deletions(-) diff --git a/gpu_transform/src/main/cpp/common/native_common.h b/gpu_transform/src/main/cpp/common/native_common.h index 3a8442b..f2db746 100644 --- a/gpu_transform/src/main/cpp/common/native_common.h +++ b/gpu_transform/src/main/cpp/common/native_common.h @@ -49,7 +49,7 @@ GET_AND_THROW_LAST_ERROR((env)); \ return retVal; \ } \ - } while (0) + } while (0) #define NAPI_CALL(env, theCall) NAPI_CALL_BASE(env, theCall, nullptr) diff --git a/gpu_transform/src/main/cpp/napi/napi_init.cpp b/gpu_transform/src/main/cpp/napi/napi_init.cpp index 667d663..cee7544 100644 --- a/gpu_transform/src/main/cpp/napi/napi_init.cpp +++ b/gpu_transform/src/main/cpp/napi/napi_init.cpp @@ -33,7 +33,7 @@ static napi_value Add(napi_env env, napi_callback_info info) size_t argc = 2; napi_value args[2] = {nullptr}; - napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); + napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); napi_valuetype valuetype0; napi_typeof(env, args[0], &valuetype0); @@ -49,32 +49,30 @@ static napi_value Add(napi_env env, napi_callback_info info) napi_value sum; napi_create_double(env, value0 + value1, &sum); - return sum; - } static napi_value Init(napi_env env, napi_value exports) { napi_property_descriptor desc[] = { - DECLARE_NAPI_FUNCTION("EglRenderInit", EGLRender:: RenderInit), - DECLARE_NAPI_FUNCTION("EglRenderSetImageData", EGLRender:: RenderSetData), - DECLARE_NAPI_FUNCTION("EglPixelMapSurface", EGLRender:: GetPixelMapOfSurface), - DECLARE_NAPI_FUNCTION("EglRenderSetIntParams", EGLRender:: RenderSetIntParams), - DECLARE_NAPI_FUNCTION("EglIsInit", EGLRender:: EGLIsInit), - DECLARE_NAPI_FUNCTION("EglDestroy", EGLRender:: DestroyGlesEnv), + DECLARE_NAPI_FUNCTION("EglRenderInit", EGLRender::RenderInit), + DECLARE_NAPI_FUNCTION("EglRenderSetImageData", EGLRender::RenderSetData), + DECLARE_NAPI_FUNCTION("EglPixelMapSurface", EGLRender::GetPixelMapOfSurface), + DECLARE_NAPI_FUNCTION("EglRenderSetIntParams", EGLRender::RenderSetIntParams), + DECLARE_NAPI_FUNCTION("EglIsInit", EGLRender::EGLIsInit), + DECLARE_NAPI_FUNCTION("EglDestroy", EGLRender::DestroyGlesEnv), - DECLARE_NAPI_FUNCTION("EglUseProgram", EGLRender:: StartUseProgram), - DECLARE_NAPI_FUNCTION("EglRendering", EGLRender:: Rendering), + DECLARE_NAPI_FUNCTION("EglUseProgram", EGLRender::StartUseProgram), + DECLARE_NAPI_FUNCTION("EglRendering", EGLRender::Rendering), - DECLARE_NAPI_FUNCTION("EglUniform1i", EGLRender:: RenderGlUniform1i), - DECLARE_NAPI_FUNCTION("EglUniform1f", EGLRender:: RenderGlUniform1f), - DECLARE_NAPI_FUNCTION("EglUniform2fv", EGLRender:: RenderGlUniform2fv), + DECLARE_NAPI_FUNCTION("EglUniform1i", EGLRender::RenderGlUniform1i), + DECLARE_NAPI_FUNCTION("EglUniform1f", EGLRender::RenderGlUniform1f), + DECLARE_NAPI_FUNCTION("EglUniform2fv", EGLRender::RenderGlUniform2fv), - DECLARE_NAPI_FUNCTION("EglSetTypeArrayOfFloat", EGLRender:: setTypeArrayOfFloat), + DECLARE_NAPI_FUNCTION("EglSetTypeArrayOfFloat", EGLRender::setTypeArrayOfFloat), - DECLARE_NAPI_FUNCTION("EglSetTypeArrayOfMatrix3f", EGLRender:: setTypeArrayOfMatrix3f), - DECLARE_NAPI_FUNCTION("EglSetTypeArrayOfMatrix4f", EGLRender:: setTypeArrayOfMatrix4f), + DECLARE_NAPI_FUNCTION("EglSetTypeArrayOfMatrix3f", EGLRender::setTypeArrayOfMatrix3f), + DECLARE_NAPI_FUNCTION("EglSetTypeArrayOfMatrix4f", EGLRender::setTypeArrayOfMatrix4f), }; NAPI_CALL(env, napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc)); return exports; diff --git a/gpu_transform/src/main/cpp/render/EGLRender.cpp b/gpu_transform/src/main/cpp/render/EGLRender.cpp index bce24f5..fc9ee69 100644 --- a/gpu_transform/src/main/cpp/render/EGLRender.cpp +++ b/gpu_transform/src/main/cpp/render/EGLRender.cpp @@ -182,7 +182,7 @@ napi_value EGLRender::EGLIsInit(napi_env env, napi_callback_info info) int32_t value; if (EGLRender::GetInstance() -> m_IsGLContextReady) { value = 1; - }else { + } else { value = 0; } napi_status status = napi_create_int32(env, value, &isInit); @@ -234,7 +234,7 @@ napi_value EGLRender::setTypeArrayOfFloat(napi_env env, napi_callback_info info) size_t bufferLength; size_t byte_offset; napi_status buffStatus = napi_get_typedarray_info(env, - args[2], &dataType, &bufferLength, &buffer, &args[2], &byte_offset); + args[2], &dataType, &bufferLength, &buffer, &args[2], &byte_offset); if (buffStatus != napi_ok) { return nullptr; } @@ -245,13 +245,13 @@ napi_value EGLRender::setTypeArrayOfFloat(napi_env env, napi_callback_info info) if (strcmp(key, "glUniform2fv") == 0) { uniformType = UNIFORM_TYPE_2FV; - }else if (strcmp(key, "glUniform3fv") == 0) { + } else if (strcmp(key, "glUniform3fv") == 0) { uniformType = UNIFORM_TYPE_3FV; - }else if (strcmp(key, "glUniform4fv") == 0) { + } else if (strcmp(key, "glUniform4fv") == 0) { uniformType = UNIFORM_TYPE_4FV; - }else if (strcmp(key, "glUniform1fv") == 0) { + } else if (strcmp(key, "glUniform1fv") == 0) { uniformType = UNIFORM_TYPE_FV; - }else if (strcmp(key, "glUniform2f") == 0) { + } else if (strcmp(key, "glUniform2f") == 0) { uniformType = UNIFORM_TYPE_2F; } @@ -275,7 +275,7 @@ napi_value EGLRender::setTypeArrayOfMatrix3f(napi_env env, napi_callback_info in size_t bufferLength; size_t byte_offset; napi_status buffStatus = napi_get_typedarray_info(env, - args[1], &dataType, &bufferLength, &buffer, &args[1], &byte_offset); + args[1], &dataType, &bufferLength, &buffer, &args[1], &byte_offset); if (buffStatus != napi_ok) { return nullptr; } @@ -303,7 +303,7 @@ napi_value EGLRender::setTypeArrayOfMatrix4f(napi_env env, napi_callback_info in size_t bufferLength; size_t byte_offset; napi_status buffStatus = napi_get_typedarray_info(env, - args[1], &dataType, &bufferLength, &buffer, &args[1], &byte_offset); + args[1], &dataType, &bufferLength, &buffer, &args[1], &byte_offset); if (buffStatus != napi_ok) { return nullptr; } @@ -404,7 +404,6 @@ void EGLRender::Init() if (!m_IsGLContextReady) { return; } - glGenTextures(1, &m_ImageTextureId); // 生成纹理名称 glBindTexture(GL_TEXTURE_2D, m_ImageTextureId); // 允许建立一个绑定到目标纹理的有名称的纹理 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); @@ -420,15 +419,12 @@ void EGLRender::Init() 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_FragmentShader); if (!m_ProgramObj) { GLUtils::CheckGLError("Create Program"); return; } - - // Generate VBO Ids and load the VBOs width data glGenBuffers(DEFAULT_THREE, m_VboIds); glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[DEFAULT_ZERO]); glBufferData(GL_ARRAY_BUFFER, sizeof(vVertices), vVertices, GL_STATIC_DRAW); @@ -438,30 +434,26 @@ void EGLRender::Init() glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_VboIds[DEFAULT_TWO]); glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW); - - // Generate VAO Ids glGenVertexArrays(DEFAULT_ONE, m_VaoIds); - - // FBO off screen rendering VAO glBindVertexArray(m_VaoIds[DEFAULT_ZERO]); glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[DEFAULT_ZERO]); glEnableVertexAttribArray(VERTEX_POS_LOC); glVertexAttribPointer(VERTEX_POS_LOC, - DEFAULT_THREE, - GL_FLOAT, GL_FALSE, - DEFAULT_THREE * sizeof(GLfloat), - (const void *)DEFAULT_ZERO); + DEFAULT_THREE, + GL_FLOAT, GL_FALSE, + DEFAULT_THREE * sizeof(GLfloat), + (const void *)DEFAULT_ZERO); glBindBuffer(GL_ARRAY_BUFFER, GL_NONE); glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[DEFAULT_ONE]); glEnableVertexAttribArray(TEXTURE_POS_LOC); glVertexAttribPointer(TEXTURE_POS_LOC, - DEFAULT_TWO, - GL_FLOAT, - GL_FALSE, - DEFAULT_TWO * sizeof(GLfloat), - (const void *)DEFAULT_ZERO); + DEFAULT_TWO, + GL_FLOAT, + GL_FALSE, + DEFAULT_TWO * sizeof(GLfloat), + (const void *)DEFAULT_ZERO); glBindBuffer(GL_ARRAY_BUFFER, GL_NONE); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_VboIds[DEFAULT_TWO]); @@ -470,8 +462,7 @@ void EGLRender::Init() int EGLRender::CreateGlEnv() { - const EGLint confAttr[] = - { + const EGLint confAttr[] = { EGL_RENDERABLE_TYPE, EGL_OPENGL_ES3_BIT_KHR, EGL_SURFACE_TYPE, EGL_PBUFFER_BIT, EGL_RED_SIZE, 8, @@ -482,15 +473,11 @@ int EGLRender::CreateGlEnv() EGL_STENCIL_SIZE, 8, EGL_NONE }; - // EGL context attributes - const EGLint ctxAttr[] = - { + const EGLint ctxAttr[] = { EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE }; - - const EGLint surfaceAttr[] = - { + const EGLint surfaceAttr[] = { EGL_WIDTH, 1, EGL_HEIGHT, 1, EGL_NONE @@ -504,64 +491,37 @@ int EGLRender::CreateGlEnv() resultCode = -1; break; } - // 初始化 egl 方法 if (!eglInitialize(m_eglDisplay, &eglMajVers, &eglMinVers)) { resultCode = -1; break; } - // 获取 EGLConfig 对象,确定渲染表面的配置信息 if (!eglChooseConfig(m_eglDisplay, confAttr, &m_eglConf, 1, &numConfigs)) { resultCode = -1; break; } - // 创建渲染表面 EGLSurface 使用 eglCreateBufferSurface 创建屏幕外渲染区域 m_eglSurface = eglCreatePbufferSurface(m_eglDisplay, m_eglConf, surfaceAttr); if (m_eglSurface == EGL_NO_SURFACE) { - switch(eglGetError()) { - case EGL_BAD_ALLOC: - LOGI("gl-->::CreateGlesEnv Not enough resources available"); - break; - case EGL_BAD_CONFIG: - LOGI("gl-->::CreateGlesEnv provided EGLConfig is invalid"); - break; - case EGL_BAD_PARAMETER: - LOGI("gl-->::CreateGlesEnv provided EGL_WIDTH and EGL_HEIGHT is invalid"); - break; - case EGL_BAD_MATCH: - LOGI("gl-->::CreateGlesEnv Check window and EGLConfig attributes"); - break; - default: - LOGI("gl-->::CreateGlesEnv happen default error"); - break; - } + LOGI("gl-->::CreateGlesEnv happen default error"); + break; } - // 创建渲染上下文 EGLContext m_eglCtx = eglCreateContext(m_eglDisplay, m_eglConf, EGL_NO_CONTEXT, ctxAttr); if (m_eglCtx == EGL_NO_CONTEXT) { EGLint error = eglGetError(); if (error == EGL_BAD_CONFIG) { - LOGI("gl-->::CreateGlesEnv EGL_BAD_CONFIG"); resultCode = -1; break; } - } - + } // 绑定上下文 if (!eglMakeCurrent(m_eglDisplay, m_eglSurface, m_eglSurface, m_eglCtx)) { resultCode = -1; break; } - LOGI("gl-->::CreateGlesEnv initialize success"); } while (false); - - if (resultCode != 0) { - LOGI("gl-->::CreateGlesEnv fail"); - } - return resultCode; } @@ -580,14 +540,14 @@ void EGLRender::SetImageData(uint8_t *pData, int width, int height) glBindTexture(GL_TEXTURE_2D, m_ImageTextureId); glTexImage2D(GL_TEXTURE_2D, - 0, - GL_RGBA, - m_RenderImage.width, - m_RenderImage.height, - 0, - GL_RGBA, - GL_UNSIGNED_BYTE, - m_RenderImage.ppPlane[0]); + 0, + GL_RGBA, + m_RenderImage.width, + m_RenderImage.height, + 0, + GL_RGBA, + GL_UNSIGNED_BYTE, + m_RenderImage.ppPlane[0]); glBindTexture(GL_TEXTURE_2D, GL_NONE); if (m_FboId == GL_NONE) { @@ -597,14 +557,14 @@ void EGLRender::SetImageData(uint8_t *pData, int width, int height) glBindTexture(GL_TEXTURE_2D, m_FboTextureId); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, m_FboTextureId, 0); glTexImage2D(GL_TEXTURE_2D, - 0, - GL_RGBA, - m_RenderImage.width, - m_RenderImage.height, - 0, - GL_RGBA, - GL_UNSIGNED_BYTE, - nullptr); + 0, + GL_RGBA, + m_RenderImage.width, + m_RenderImage.height, + 0, + GL_RGBA, + GL_UNSIGNED_BYTE, + nullptr); if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) { LOGI("gl--> EGLRender ::SetImageData glCheckFramebufferStatus status != GL_FRAMEBUFFER_COMPLETE"); } @@ -683,7 +643,6 @@ void EGLRender::SetIntParams(int paramType, int param) vShader[0] = vShaderStr; break; } - m_ProgramObj = GLUtils::CreateProgram(vShader[0], fShader[0], m_VertexShader, m_FragmentShader); if (!m_ProgramObj) { @@ -691,7 +650,6 @@ void EGLRender::SetIntParams(int paramType, int param) LOGI("gl--> EGLRender::SetIntParams Could not create program."); return; } - m_SamplerLoc = glGetUniformLocation(m_ProgramObj, "s_TextureMap"); m_TexSizeLoc = glGetUniformLocation(m_ProgramObj, "u_texSize"); } @@ -704,7 +662,9 @@ void EGLRender::SetIntParams(int paramType, int param) void EGLRender::UseProgram() { - if (m_ProgramObj == GL_NONE) return; + if (m_ProgramObj == GL_NONE) { + return; + } glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClear(GL_STENCIL_BUFFER_BIT | GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); diff --git a/gpu_transform/src/main/cpp/render/EGLRender.h b/gpu_transform/src/main/cpp/render/EGLRender.h index db4911b..4947f9b 100644 --- a/gpu_transform/src/main/cpp/render/EGLRender.h +++ b/gpu_transform/src/main/cpp/render/EGLRender.h @@ -37,8 +37,7 @@ public: static EGLRender* GetInstance() { - if(sInstance == nullptr) - { + if (sInstance == nullptr) { sInstance = new EGLRender(); } return sInstance; @@ -46,8 +45,7 @@ public: static void DestroyRender() { - if (sInstance) - { + if (sInstance) { delete sInstance; sInstance = nullptr; } diff --git a/gpu_transform/src/main/cpp/util/NativeImage.h b/gpu_transform/src/main/cpp/util/NativeImage.h index 100a959..d4db217 100644 --- a/gpu_transform/src/main/cpp/util/NativeImage.h +++ b/gpu_transform/src/main/cpp/util/NativeImage.h @@ -75,7 +75,7 @@ public: if (pImage ->height == DEFAULT_ZERO || pImage ->width == DEFAULT_ZERO) return; switch (pImage -> format) { case IMAGE_FORMAT_RGBA: { - pImage->ppPlane[DEFAULT_ZERO] = + pImage->ppPlane[DEFAULT_ZERO] = static_cast(malloc(pImage->width * pImage ->height * DEFAULT_FOUR)); } break;