草庐IT

gl_surface_egl

全部标签

c++ - OpenGL 3.3/GLSL 和 C++ 错误 : "must write to gl_Position"

我目前正在尝试使用OpenGL3.3和C++以及GLM、GLFW3和GLEW库来渲染一个三角形,但在尝试创建我的着色器程序时出现错误。Vertexinfo(0):errorC5145:mustwritetogl_Position我已经尝试找出发生这种情况的原因并在其他论坛上询问过,但没有人知道原因是什么。这个错误可能起源于三个可能的点-在我的main.cpp中,我在其中创建窗口、上下文、程序、vao等......#include#include#include#include#include#include"util/shaderutil.hpp"#defineWIDTH800#def

c++ - 如何在从 Linux 移植的 C++ 项目中使用 Open GL

我刚刚尝试在我的Mac上编译一个开源C++应用程序。我收到错误GL/gl.h文件未找到。我知道这意味着它找不到需要编译和运行的开放式GL库。我对下一步该做什么感到困惑,因为似乎OSX包含对opengl的内置支持。有nothing去下载。对于OSX和Linux上的OpenGL,头文件名称似乎可能不同(OpenGLheadersforOSX&Linux)所以我对下一步该做什么感到困惑。我是否下载OpenGL并将其链接到我的项目?我是否将xcode配置为使用native版本的OpenGL?我要更改标题吗?有人可以提供更多指导吗?这个答案给出了windows/linux的答案——但不是OSX:

c++ - 在 Open GL 2.0 和 glm 中创建第一人称相机

我对OpenGL和c++还很陌生,遇到过创建第一人称相机的问题。我不懂矩阵数学,所以这对我来说更加困难。到目前为止,为了计算相机的旋转,我已经这样做了:voidCameraFP::calculate_view(){m_view=glm::rotate(m_view,this->get_rotation_x(),glm::vec3(1,0,0));m_view=glm::rotate(m_view,this->get_rotation_y(),glm::vec3(0,1,0));}每次更新调用都会调用该函数。为了通过鼠标处理相机的旋转,我做了以下操作:voidCameraFP::proc

c++ - OpenMAX 和 NDK : Where I can get the surface?

我正在编写一个显示视频的应用程序。该应用程序是使用AndroidNDK和JNI编写的。我想使用OpenMAX。在OpenMAX示例中,它从Java检索表面,但我可以从哪里获得要渲染的表面?我只能通过applicationContext获得nativeWindow。例子:voidJava_com_example_nativemedia_NativeMedia_setSurface(JNIEnv*env,jclassclazz,jobjectsurface){theNativeWindow=ANativeWindow_fromSurface(env,surface);}但我没有表面。谢谢

c++ - 我可以在 OSX 中使用 EGL 吗?

我正在尝试使用CairoC++应用程序中的库利用其在Mac中的GL加速。(我对其Quartz后端进行了相同的测试,但性能令人失望。)它说它支持EGL和GLX。使用GLX需要(外部安装)XQuartz并打开一个XWindow,所以我倾向于使用EGL:Apple的programmingguidepages告诉我们使用NSOpenGL*,即this页面和其他人说它使用CGL。This(2012)页面说Mac有EAGL,它只类似于EGL(我想它指的是IOS,而不是MAC,因为它的EAGL引用链接指向IOS帮助页面)。Angle说它支持EGL,但据我所知,它适用于Windows中的Direct3

c++ - 使用 RGB 源和 RGBA 叠加实现近乎实时的 CPU 功能,如 glAlphaFunc(GL_GREATER)

延迟是这里最大的问题。我发现尝试通过OpenGL将带有RGBA覆盖的3个1920x1080视频源渲染到单个窗口有限制。我能够渲染两个带叠加层的窗口或3个不带叠加层的窗口,但当引入第三个窗口时,渲染停顿很明显。我认为这个问题是由于过度使用glAlphaFunc()来覆盖RGB视频纹理和基于RGBA的纹理。为了减少过度使用,我的想法是将一些覆盖功能移到CPU中(因为我有很多CPU-双六核至强)。执行此操作的理想位置是将源RGB图像复制到映射的PBO并将RGB值替换为A>0的RGBA叠加层中的值。我尝试过使用英特尔IPP方法,但没有一种方法不涉及多次调用并会导致过多的延迟。我试过直接使用C代

c++ - 如何在 SDL_surface 中设置像素?

我需要使用thispage中的以下函数.SDL_Surfacestructure定义为typedefstructSDL_Surface{Uint32flags;/*Read-only*/SDL_PixelFormat*format;/*Read-only*/intw,h;/*Read-only*/Uint16pitch;/*Read-only*/void*pixels;/*Read-write*/SDL_Rectclip_rect;/*Read-only*/intrefcount;/*Read-mostly*/}SDL_Surface;函数是:voidset_pixel(SDL_Sur

vue-使用echarts+echarts-gl实现某个省份地区地图3d可视化

前言最近在开发中遇到一个需求,需要把一个地区地图变成3d感觉悬浮在大屏中间配合业务需求其实echarts配合三方库就可以实现这个效果,具体细节需要自己调整代码实现1.下载各省份各地区地图数据-json文件-根据需求下载对应地图json数据引入即可最新全国地图JSON数据:数据来源:阿里云数据可视化平台-Gitee.com2.安装echarts和echarts-gl插件:npminstallechartsnpminstallecharts-gl3.代码实现-直接复制-注意下包和引入进来json地图数据需要对应起来 ​import*asechartsfrom'echarts'import'echa

c++ - 为什么 eglMakeCurrent 因 EGL_BAD_ALLOC 而失败?

我正在使用OpenGLES2.0和AndroidNDKr8b。我有一个用于工作线程的共享上下文。当我尝试使用eglMakeCurrent将共享上下文绑定(bind)到工作线程时,我收到错误EGL_BAD_ALLOC。现在让我感到困惑的是这段代码之前工作得很好......我不确定我做了什么来破坏它......EGL文档说这个错误与资源不可用有关,但我正在运行曾经在这个完全相同的设备上完美运行的同一个应用程序,并且所有纹理都可以从主线程正常加载。那么可能导致此错误的原因是什么?这是我的egl初始化:boolInitialize(void*displaySurface){assert(dis

【论文简述】Learning Depth Estimation for Transparent and Mirror Surfaces(ICCV 2023)

一、论文简述1.第一作者:AlexCostanzino2.发表年份:20233.发表期刊:ICCV4.关键词:深度感知、立体匹配、深度学习、分割、透明物体、镜子5.探索动机:透明或镜面(ToM)制成的材料,从建筑物的玻璃窗到汽车和电器的反射表面。对于利用计算机视觉在未知环境中操作的自主代理来说,这可能是一个艰巨的挑战。在空间人工智能涉及的众多任务中,对于计算机视觉算法和深度网络来说,准确估计这些表面上的深度信息仍然是一个具有挑战性的问题。基于深度学习的深度传感技术,例如单目或立体网络,在提供足够的训练数据的情况下,有可能解决这一挑战。但具有透明对象的数据集很少提供真实深度注释,这些注释是通过非