Lemon:适用于C ++的OpenGL和Vulkan的多线程渲染引擎框架

时间:2024-04-29 04:01:04
【文件属性】:

文件名称:Lemon:适用于C ++的OpenGL和Vulkan的多线程渲染引擎框架

文件大小:26.91MB

文件格式:ZIP

更新时间:2024-04-29 04:01:04

C++

柠檬 多线程渲染引擎框架 该框架旨在提供一个接口,通过该接口可以编写实时响应式图形应用程序。 Lemon应该允许对图形硬件功能的统一访问,消除诸如OpenGL的线程限制和Vulkan的低级管理要求之类的进入障碍。 该框架允许在多个图形API之间进行抽象,从而填补了OpenGL和Vulkan应用程序之间的空白。 OpenGL和其他图形开发人员面临的一个常见问题是从各自的图形上下文中发出图形命令。 例如,OpenGL渲染调用只能从OpenGL上下文处于活动状态的单个线程进行; 同样,OpenAL音频呼叫只能从OpenAL线程进行。 当游戏或应用程序是多线程的,并且该应用程序尝试渲染对象或从辅助线程播放声音时,就会出现此问题。 与OpenGL相比,Vulkan的主要优势在于它可以通过命令缓冲区进行并行化。 该框架提供了一种有助于解决OpenGL的线程限制的实现,因此尽管存在上述限制,但仍允


【文件预览】:
Lemon-master
----models()
--------xyzrgb_statuette.obj(41.7MB)
--------xyzrgb_statuette.mtl(142B)
--------lucy.obj(7.76MB)
--------xyzrgb_dragon.mtl(139B)
--------README.txt(676B)
--------lucy.mtl(232B)
--------xyzrgb_dragon.obj(41.59MB)
----ext_vulkan()
--------ext_vulkan.cpp(0B)
----ext_glfw()
--------ext_glfw.cpp(2KB)
--------ext_glfw.h(2KB)
----core()
--------worker_thread.h(11KB)
--------resource.h(2KB)
--------deque.h(4KB)
--------bootstrap.h(1KB)
--------bootstrap.cpp(3KB)
--------latch.cpp(2KB)
--------shader_buffer.h(2KB)
--------logger.h(3KB)
--------context.cpp(921B)
--------resource_stack.h(6KB)
--------application.h(3KB)
--------latch.h(1KB)
--------application.cpp(4KB)
--------context.h(5KB)
--------resource_stack.cpp(2KB)
--------logger.cpp(6KB)
--------worker_thread.cpp(5KB)
----CMakeLists.txt(4KB)
----shaders()
--------default.vert(2KB)
--------default.frag(2KB)
----LICENSE(1KB)
----README.md(4KB)
----.gitignore(485B)
----ext_opengl()
--------gl_ssbo.cpp(2KB)
--------ext_opengl.h(3KB)
--------ext_opengl.cpp(3KB)
--------gl_ssbo.h(1KB)

网友评论