当前位置: 首页 > news >正文

物流网站建设模板下载网站怎么做到秒收录

物流网站建设模板下载,网站怎么做到秒收录,渭南市建设局网站,wordpress前端投稿一、介绍 相同点#xff1a; eglCreatePbufferSurface 和 eglCreateWindowSurface 都是 OpenGL ES 中用于创建不同类型的EGL表面的函数#xff0c;以便在OpenGL ES中进行渲染。 不同点#xff1a; 选择使用哪种表面类型取决于你的需求。如果你只是需要在内存中进行离屏渲…一、介绍 相同点 eglCreatePbufferSurface 和 eglCreateWindowSurface 都是 OpenGL ES 中用于创建不同类型的EGL表面的函数以便在OpenGL ES中进行渲染。 不同点 选择使用哪种表面类型取决于你的需求。如果你只是需要在内存中进行离屏渲染而不需要将结果显示在屏幕上那么 eglCreatePbufferSurface 可能更适合。 如果你需要在窗口系统的窗口上显示OpenGL渲染的内容那么 eglCreateWindowSurface 是更常见的选择。 二、eglCreatePbufferSurface eglCreatePbufferSurface 用于创建一个离屏渲染表面也称为Pbuffer表面。Pbuffer表面是一个虚拟的离屏缓冲区可以在其中进行渲染操作而不直接与屏幕交互。通常它用于离屏渲染、渲染到纹理等场景。 1. 函数定义 /// param [in] dpy EGL显示连接 /// param [in] config EGL配置 /// param [in] attrib_list 属性列表用于指定Pbuffer的一些属性可以为NULL /// return 返回EGL表面 EGLSurface eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);2. 使用示例 // 初始化EGL eglDisplay eglGetDisplay(EGL_DEFAULT_DISPLAY); eglInitialize(eglDisplay, 0, 0); // 配置EGL EGLConfig config; EGLint numConfigs; EGLint configAttribs[] {EGL_RENDERABLE_TYPE, EGL_OPENGL_ES3_BIT_KHR,EGL_RED_SIZE, 8,EGL_GREEN_SIZE, 8,EGL_BLUE_SIZE, 8,EGL_NONE }; eglChooseConfig(eglDisplay, configAttribs, config, 1, numConfigs); // 创建EGL窗口表面可以是Pbuffer等 EGLint attribList[] {EGL_RENDER_BUFFER, EGL_BACK_BUFFER, EGL_NONE}; eglSurface eglCreatePbufferSurface(eglDisplay, config, attribList); // 创建EGL上下文 EGLint contextAttribs[] {EGL_CONTEXT_CLIENT_VERSION, 3, EGL_NONE}; eglContext eglCreateContext(eglDisplay, config, EGL_NO_CONTEXT, contextAttribs); // 关联上下文 eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext);// 渲染操作...// 交换缓冲区 eglSwapBuffers(eglDisplay, eglSurface);// 销毁 EGLSurface eglDestroySurface(eglDisplay, eglSurface); // 销毁 EGLContext eglDestroyContext(eglDisplay, eglContext); // 终止 EGL eglTerminate(eglDisplay);三、eglCreateWindowSurface eglCreateWindowSurface 用于创建一个与屏幕窗口相关的EGL表面。这个表面通常与设备的窗口系统交互使得OpenGL ES渲染的内容能够显示在屏幕上。 1. 函数定义 /// param [in] dpy EGL显示连接 /// param [in] config EGL配置 /// param [in] win 与窗口系统相关的本地窗口类型。在Android中通常是ANativeWindow*类型 /// param [in] attrib_list 属性列表用于指定Pbuffer的一些属性可以为NULL /// return 返回EGL表面 EGLSurface eglCreateWindowSurface(EGLDisplay dpy,EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);2. 使用示例 注意 如果你需要渲染到屏幕上那么建议直接使用封装好的 GLSurfaceView 类它已经把复杂的 EGL 管理线程管理等做好了直接使用即可。 下面的示例参考演示我们自己应该如何使用 eglCreateWindowSurface。 JNI代码 #include EGL/egl.h #include GLES3/gl3.h #include android/native_window_jni.hEGLDisplay eglDisplay; EGLSurface eglSurface; EGLContext eglContext;JNIEXPORT void JNICALL Java_com_afei_opengldemo_MySurfaceView_glDraw(JNIEnv *env, jclass clazz, jobject surface) {// 初始化EGLeglDisplay eglGetDisplay(EGL_DEFAULT_DISPLAY);if (eglDisplay EGL_NO_DISPLAY) {// Unable to open connection to local windowing systemreturn;}EGLint majorVersion;EGLint minorVersion;if (!eglInitialize(eglDisplay, majorVersion, minorVersion)) {// Unable to initialize EGL. Handle and recoverreturn;}// 配置EGLEGLConfig config;EGLint numConfigs;EGLint configAttribs[] {EGL_RENDERABLE_TYPE, EGL_OPENGL_ES3_BIT,EGL_RED_SIZE, 8,EGL_GREEN_SIZE, 8,EGL_BLUE_SIZE, 8,EGL_DEPTH_SIZE, 1,EGL_NONE};if (!eglChooseConfig(eglDisplay, configAttribs, config, 1, numConfigs)) {return;}// 创建EGL窗口表面可以是Pbuffer等EGLint attribList[] {EGL_RENDER_BUFFER, EGL_BACK_BUFFER, EGL_NONE};// 这里我们需要在Java层传递一个Surface对象供我们显示ANativeWindow *window ANativeWindow_fromSurface(env, surface);eglSurface eglCreateWindowSurface(eglDisplay, config, window, attribList);if (eglSurface EGL_NO_SURFACE) {EGLint error eglGetError();switch (error) {case EGL_BAD_MATCH:// Check window and EGLConfig attributes to determine// compatibility, or verify that the EGLConfig// supports rendering to a window,break;case EGL_BAD_CONFIG:// Verify that provided EGLConfig is validbreak;case EGL_BAD_NATIVE_WINDOW:// Verify that provided EGLNativeWindow is validbreak;case EGL_BAD_ALLOC:// Not enough resources available. Handle and recoverbreak;}return;}// 创建EGL上下文EGLint contextAttribs[] {EGL_CONTEXT_CLIENT_VERSION, 3, EGL_NONE};eglContext eglCreateContext(eglDisplay, config, EGL_NO_CONTEXT, contextAttribs);if (eglContext EGL_NO_CONTEXT) {EGLint error eglGetError();if (error EGL_BAD_CONFIG) {// Handle error and recoverreturn;}}// 关联上下文eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext);// 初始化OpenGL和渲染操作...// 交换缓冲区eglSwapBuffers(eglDisplay, eglSurface);// 销毁 EGLSurfaceeglDestroySurface(eglDisplay, eglSurface);// 销毁 EGLContexteglDestroyContext(eglDisplay, eglContext);// 终止 EGLeglTerminate(eglDisplay); }Java调用代码 public class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback {private SurfaceHolder mSurfaceHolder;public MyView(Context context) {super(context);mSurfaceHolder getHolder();mSurfaceHolder.addCallback(this);}Overridepublic void surfaceCreated(NonNull SurfaceHolder holder) {// 初始化操作等glDraw(holder.getSurface());}Overridepublic void surfaceChanged(NonNull SurfaceHolder holder, int format, int width, int height) {}Overridepublic void surfaceDestroyed(NonNull SurfaceHolder holder) {// 释放操作...}public native static void glDraw(Surface surface); }
http://www.tj-hxxt.cn/news/143217.html

相关文章:

  • 学校响应式网站模板本地做的网站如何映射出去
  • 云南省建设厅网站二建饰品行业网站开发
  • 湖北建站管理系统信息合肥网站seo服务
  • 锐旗网站建设辽阳好的网站建设公司
  • 建湖网站建设价格微网站门户
  • vi设计网站有哪些产品 网站建设
  • 高邮网站开发常州知名网站建设公司
  • wordpress建站模版投资公司投资流程
  • 怎么看网站的建站公司是哪个中国制造网官方网站入口
  • 海珠营销网站建设报价小城镇建设 网站官方
  • wordpress网站设置关键词山东住房和城乡建设部网站
  • 如何查找同行网站做的外链网站优化及推广方案
  • 做影视网站有什么风险网站建设合同任
  • 模板网站配置文件闵行网站建设
  • 青岛学网站建设的学校国内最炫酷的网站
  • 帮别人设计网站北京公司注册核名详细流程
  • 旅游网站开发的意义相关资料做公司企业网站标准尺寸
  • 网站推广软件排名17岁在线观看免费高清完整版
  • 做纸巾定制的网站wordpress模板带后台
  • 重庆企业网站推广方法福州最新通告今天
  • 能进外国网站看视频的浏览器合肥高端网站建设费用
  • 在什么网站做调查问卷肇庆网页制作公司
  • 柠檬网络科技网站建设做网站设计需要什么技术
  • 广州专业的网站建设公司排名申请免费个人网站和域名
  • 网站二级域名怎么弄天津哪家网站做的好
  • 721网站建设案例学——网页设计与网站建设
  • 响应式 网站 设计软件网站建设哪家好 北京
  • 什么是电子商务网站的建设如何建设免费网站
  • 广州市天河区建设局网站建设企业网站e路护航官网企业端
  • 普通网站建设wordpress中文博客主题