VSG-001

news2024/9/27 7:19:39

VulkanSceneGraph

VulkanSceneGraph (VSG), is a modern, cross platform, high performance scene graph library built upon Vulkan

VSG 是一个基于vulkan的现代的、跨平台的高性能场景管理库

VSg特性:

  • 使用C++17作为c++规范编码,
  • 支持 CppCoreGuidelines
  • 支持 FOSS Best Practices.
  • 使用MIT License开源协议发布,商业友好
  • 跨平台

主要链接地址

主页: vulkanscenegraph.org website 提供详细的技术特性说明,示例和文档以及先关资源

  • Features - tour of features you’ll find in the VulkanSceneGraph and companion projects.
  • Screenshots - screenshots from VulkanSceneGraph examples and 3rd party libraries and applications
  • Tutorials - mulit-part tutorial that takes you from introduction to scene graphs to multi-threading and optimization.
  • Documentation - doxygen generated reference documentation and links to 3rd party learning materials
  • Discussion - Discussion forum hosted on github.
  • Services - List of companies connected to the VulkanSceneGraph project that can provide professional services

关联项目

Hosted as part of the vsg-dev:

  • vsgXchange reading and writing of 3rd party images and 3d models and HTTP support.
  • vsgExamples tests & examples.
  • osg2vsg OpenSceneGraph integration library that enables converting of OSG to VSG scene graph and use of OpenSceneGraph loaders.
  • vsgImGui ImGui integration enabling UI in graphics window.
  • vsgQt Qt integration with VulkanSceneGraph.
  • vsgPoints 3d point cloud loading and rendering for VulkanSceneGraph with database paging support and scalability up to billions of points.
  • vsgUnity plugin for Unity that provides export to native VulkanSceneGraph binary/ascii format.
  • MyFirstVsgApplication simple standalone VSG application that can be used as a template for your own applications.
  • vsgFramework template project that uses CMake FetchContent to pull in all the main libraries associated with VulkanSceneGraph and dependencies and builds them together.

Community projects:

  • vsgSDL SDL integration with VulkanSceneGraph.
  • vsgvr OpenVR integration with VulkanSceneGraph.
  • vsgCs 3D Tiles and Cesium ion integration
  • vsgEarth osgEarth integration

VSG快速编译

先决条件:

  • C++17 compliant compiler i.e. g++ 7.3 or later, Clang 6.0 or later, Visual Studio S2017 or later.
  • Vulkan 1.1 or later.
  • CMake 3.7 or later.

The above dependency versions are known to work so they’ve been set as the current minimum, it may be possible to build against older versions. If you find success with older versions let us know and we can update the version info.

Download VulkanSDK from LunarG, unpack into local directory and set VULKAN_SDK environment variable to the include/lib directory within it. For Linux it would typically be along the lines of:

export VULKAN_SDK_VERSION=1.2.162.1
export VULKAN_SDK=${PWD}/VulkanSDK/${VULKAN_SDK_VERSION}/x86_64

mkdir VulkanSDK
wget https://sdk.lunarg.com/sdk/download/${VULKAN_SDK_VERSION}/linux/vulkansdk-linux-x86_64-${VULKAN_SDK_VERSION}.tar.gz -O VulkanSDK/vulkansdk-linux-x86_64-${VULKAN_SDK_VERSION}.tar.gz
tar zxf VulkanSDK/vulkansdk-linux-x86_64-${VULKAN_SDK_VERSION}.tar.gz -C VulkanSDK/

Once you’ve downloaded and unpacked the VulkanSDK you’ll want to put VULKAN_SDK into your user environment variable setup so that CMake’s find_package(Vulkan) can find the VulkanSDK’s location.

命令行编译:

To build and install the static libvsg library (.a/.lib) in source:

git clone https://github.com/vsg-dev/VulkanSceneGraph.git
cd VulkanSceneGraph
cmake .
make -j 8
sudo make install

Full details on how to build the VSG (Unix/Windows/Android/macOS) can be found in the INSTALL.md file.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1223407.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Google Chrome 任意文件读取 (CVE-2023-4357)漏洞复现

Google Chrome 任意文件读取 (CVE-2023-4357)漏洞复现 1.漏洞描述 该漏洞的存在是由于 Google Chrome 中用户提供的 XML 输入验证不足。远程攻击者可以创建特制网页,诱骗受害者访问该网页并获取用户系统上的敏感信息。远程攻击者可利用该漏洞通过构建的 HTML 页面…

Leetcode——最长递增子序列

1. 题目链接:300. 最长递增子序列 2. 题目描述: 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如&a…

基于秃鹰算法优化概率神经网络PNN的分类预测 - 附代码

基于秃鹰算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于秃鹰算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于秃鹰优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…

Android Fragment 要你何用?2.0版本

作者:小鱼人爱编程 1. 老生常谈:为什么需要Fragment? 先看Activity、Fragment、View三者的关系: Activity 拥有生命周期,但是需要和AMS通信(跨进程),比较臃肿。 View 不需要和AMS通信,但没有生命周期&…

机器学习第9天:决策树分类

文章目录 机器学习专栏 介绍 基本思想 使用代码 深度探索 优点 估计概率 训练算法 CART成本函数 实例数与不纯度 正则化 在鸢尾花数据集上训练决策树 机器学习专栏 机器学习_Nowl的博客-CSDN博客 介绍 作用:分类 原理:构建一个二叉树&#…

Aerial for Mac: 沉浸在高清鸟瞰的世界,让你的屏幕焕发新生

你是否已经厌倦了那些平淡无奇的屏保程序?是否希望你的Mac屏幕能更生动、更有趣?如果你对此抱有强烈的期待,那么Aerial for Mac绝对会是你期待已久的解决方案。 Aerial for Mac是一款独具特色的高清屏保程序,它以鸟瞰的视角带你领…

MyBatis查询数据库(全是精髓)

1. 什么是MyBatis? 简单说,MyBatis就是一个完成程序与数据库交互的工具,也就是更简单的操作和读取数据库的工具。 2. 怎么学习Mybatis Mybatis学习只分为两部分: 配置MyBatis开发环境使用MyBatis模式和语法操作数据库 3. 第一…

【广州华锐互动】VR技术助力中小学生安全教育,让学生在虚拟世界中学会自我保护!

随着科技的不断发展,虚拟现实(VR)技术已经逐渐走进我们的生活。在教育领域,VR技术的应用也日益广泛,为传统的教育模式带来了革命性的变革。中小学生安全教育作为学生生活中的重要组成部分,其重要性不言而喻…

PyTorch 实战之水果分类

当我们试图提高神经网络的准确性时,经常会遇到过拟合训练数据的情况。当我们运行测试数据的模型时,这会导致一个糟糕的预测。因此,我采取了一个数据集,并应用这些技术,不仅提高准确性,而且还处理过拟合的问…

2023-11-17 VsCode使用makefile进行多文件编译

点击 <C 语言编程核心突破> 快速C语言入门 VsCode使用makefile进行多文件编译 前言一、一个简单的多文件示例二、makefile基本语法三、VsCode使用makefile总结 前言 要解决问题: C或C可以多文件编译, 意味着需要进行代码组织, 为了方便多文件编译, gnu开发了make工具, …

【Gradle构件工具深度学习】

Gradle构件工具深度学习 1. 课程大纲1.1 Gradle入门1.2 与Idea整合1.3 Gradle进阶 2. 常见项目构建工具3. 安装gradle 1. 课程大纲 1.1 Gradle入门 基本介绍、常用指令、项目目录、项目应用 1.2 与Idea整合 Groovy语法、整合IDEA、搭建web工程、项目部署 1.3 Gradle进阶 生命周…

Linux 进程管理 实时调度类及SMP和NUMA

文章目录 一、 实时调度类分析1.1 实时调度实体sched_rt_entity数据结构1.2 实时调度类rt_sched_class数据结构1.3 实时调度类功能函数 二、SMP和NUMA2.1 SMP&#xff08;多对称处理器结构&#xff0c;UMA&#xff09;2.2 NUMA&#xff08;非一致内存访问结构&#xff09;2.3 C…

验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)

&#x1f9f8;欢迎来到dream_ready的博客&#xff0c;&#x1f4dc;相信你对这篇博客也感兴趣o (ˉ▽ˉ&#xff1b;) &#x1f4dc;表白墙/留言墙 —— 中级SpringBoot项目&#xff0c;MyBatis技术栈MySQL数据库开发&#xff0c;练手项目前后端开发(带完整源码) 全方位全步骤手…

4.6 Windows驱动开发:内核遍历进程VAD结构体

在上一篇文章《内核中实现Dump进程转储》中我们实现了ARK工具的转存功能&#xff0c;本篇文章继续以内存为出发点介绍VAD结构&#xff0c;该结构的全程是Virtual Address Descriptor即虚拟地址描述符&#xff0c;VAD是一个AVL自平衡二叉树&#xff0c;树的每一个节点代表一段虚…

计算机网络学习笔记(六):应用层(待更新)

目录​​​​​​​ 6.2 文件传送协议FTP(File Transfer Protocol) 6.2.1 FTP概述 6.2.2 FTP的基本工作原理 6.5 电子邮件&#xff1a;SMTP、POP3、IMAP 6.5.1 电子邮件概述 6.5.2 发邮件&#xff1a;简单邮件传送协议SMTP 6.5.3 电子邮件的信息格式、地址格式 6.5.4 收…

Python语言:随机生成几个数案例分析讲解

背景 在某一节课上&#xff0c;老师使用xx通软件随机生成几个学号&#xff0c;并让对应学号同学回答问题。虽然我对xx通软件没啥好感&#xff0c;不过感觉这个随机生成学号功能挺不错的。今天我用python实现一个这个功能。 其实原理挺简单的&#xff0c;就是就是在一堆数字里随…

vite vue3配置eslint和prettier以及sass

准备 教程 安装eslint 官网 vue-eslint ts-eslint 安装eslint yarn add eslint -D生成配置文件 npx eslint --init安装其他插件 yarn add -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin…

搞科研、写论文,如何正确使用GPT?AIGC技术解析、提示词工程高级技巧、AI绘图、ChatGPT/GPT4应用

目录 专题一 OpenAI开发者大会最新技术发展及最新功能应用 专题二 AIGC技术解析 专题三 提示词工程高级技巧 专题四 ChatGPT/GPT4的实用案例 专题五 让ChatGPT/GPT4成为你的论文助手 专题六 让ChatGPT/GPT4成为你的编程助手 专题七 让ChatGPT/GPT4进行数据处理 专题八 …

【java学习—十四】反射机制获取类的属性和包(4)

文章目录 1. Field2. 类所在的包3. 举例 1. Field public Field[] getFields()&#xff1a;返回此 Class 对象所表示的类或接口的公有的 Field 。 public Field[] getDeclaredFields()&#xff1a;返回此 Class 对象所表示的类或接口的全部的 Field 。 Field 方法中&#xff…