日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深入了解FBX在Linux操作系統(tǒng)中的使用(.fbxlinux)

FBX是一種常用的3D建模工具格式,用于在不同的3D軟件之間進行數(shù)據(jù)交換,為3D場景的創(chuàng)建和編輯提供了便利。在Linux操作系統(tǒng)中,使用FBX工具也非常便捷,但需要進行一些特定的設(shè)置和步驟,下面我們將深入了解FBX在Linux系統(tǒng)中的使用。

創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)泉港,10多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

一、安裝FBX工具

在Linux系統(tǒng)中,我們可以使用官方提供的FBX SDK進行開發(fā),也可以使用開源的FBX庫來處理FBX格式的文件。對于普通用戶來說,通常需要使用第三方工具來處理FBX文件,如Blender、Maya、Houdini等。這些軟件都支持在Linux平臺上使用,用戶可以根據(jù)自己的需求選擇相應(yīng)的工具。

1.1 安裝Blender

Blender是一個強大的開源3D建模軟件,支持多平臺使用,包括Windows、Linux、MacOS等。安裝Blender非常簡單,只需要下載相應(yīng)的軟件包安裝即可。

在Ubuntu系統(tǒng)中,您可以使用以下命令安裝Blender:

sudo apt install blender

在其他Linux系統(tǒng)中,您可以前往Blender官網(wǎng)下載對應(yīng)的軟件包進行安裝。

1.2 安裝FBX插件

在Blender中使用FBX格式時,需要先安裝相應(yīng)的插件。在運行Blender之前,您可以使用以下命令安裝FBX插件:

sudo apt install libfbx-dev libfbx1

sudo apt install blender-plugin-io-import-fbx blender-plugin-io-export-fbx

注:如果您使用的是其他3D建模軟件,可以根據(jù)相應(yīng)軟件的要求,安裝相應(yīng)的插件或庫文件。

二、在Blender中導(dǎo)入和導(dǎo)出FBX文件

使用Blender在Linux系統(tǒng)中導(dǎo)入和導(dǎo)出FBX文件非常簡單,只需按照以下步驟:

2.1 導(dǎo)入FBX文件

在Blender中,您可以使用以下命令導(dǎo)入FBX文件:

File > Import > FBX

在彈出的窗口中,選擇需要導(dǎo)入的FBX文件,選擇是否導(dǎo)入動畫和路徑,然后點擊“Import FBX”按鈕即可。

2.2 導(dǎo)出FBX文件

在Blender中,您可以使用以下命令導(dǎo)出FBX文件:

File > Export > FBX

在彈出的窗口中,選擇需要導(dǎo)出的物體、相機、燈光等,選擇需要導(dǎo)出的文件路徑和文件名,然后點擊“Export FBX”按鈕即可。

三、使用小技巧

為了更好地使用FBX工具,在Linux系統(tǒng)中,有一些小技巧可以幫助您提高工作效率。

3.1 使用FBX文件壓縮工具

由于FBX文件通常非常大,如果需要將它們發(fā)送給他人或上傳到云端,會消耗大量的時間和網(wǎng)絡(luò)資源。為了減少文件大小,您可以使用FBX文件壓縮工具壓縮文件,例如FBX Converter工具可將FBX文件轉(zhuǎn)換為較小的二進制格式。在Linux系統(tǒng)中,您可以通過Wine軟件運行Windows版本的FBX Converter程序。

3.2 使用命令行工具

Linux系統(tǒng)提供了強大的命令行工具,您可以使用命令行工具來處理FBX文件,例如使用FFMPEG將FBX文件轉(zhuǎn)換為其他格式,或者使用Python腳本進行批量操作等。

3.3 常見問題解決

在使用FBX工具時,可能會遇到一些問題,例如無法正確讀取FBX文件、導(dǎo)出時出現(xiàn)錯誤等。如果遇到此類問題,您可以先檢查所使用的軟件版本是否支持FBX格式,或者查看相關(guān)文檔和社區(qū)中的解決方案。在遇到無法解決的問題時,也可以聯(lián)系軟件開發(fā)者或社區(qū)尋求幫助。

在Linux操作系統(tǒng)中使用FBX工具,可以更方便地進行3D建模和編輯工作。通過以上介紹,您可以了解如何安裝和使用Blender、在Blender中導(dǎo)入和導(dǎo)出FBX文件、使用小技巧來提高工作效率等方面的內(nèi)容。希望這些內(nèi)容能夠幫助您在Linux環(huán)境下更好地使用FBX工具。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!

Gralloc模塊分析

Linux內(nèi)核提供了統(tǒng)一的framebuffer顯示驅(qū)動。Framebuffer是內(nèi)核系統(tǒng)提供的圖形硬件的抽象描述,稱為buffer是因為它也占用了系統(tǒng)存儲空間的一部分,是一塊包含屏幕顯示信息的緩沖區(qū)。Framebuffer借助于Linux文件系統(tǒng)向上層應(yīng)用提供了統(tǒng)一而高效的操作接口,讓用戶空間運行的程序比較容易地適配多種顯示設(shè)備。

Android系統(tǒng)中,每個顯示屏被抽象為一個幀緩沖區(qū),注冊到FrameBuffer模塊中,并在/dev/graphics目錄下創(chuàng)建對應(yīng)的fbX設(shè)備,framebuffer提供的設(shè)備節(jié)點為/dev/graphics/fb或者/dev/fb,Android系統(tǒng)在硬件抽象層中提供了一個Gralloc模塊,封裝了對幀緩沖區(qū)的所有訪問操作。用戶空間的應(yīng)用程序在使用幀緩沖區(qū)之間,首先要加載Gralloc模塊,并且獲得一個gralloc設(shè)備和一個fb設(shè)備。有了gralloc設(shè)備之后,用戶空間中的應(yīng)用程序就可以申請分配一塊圖形緩沖區(qū),并且將這塊圖形緩沖區(qū)映射到應(yīng)用程序的地址空間來,以便可以向里面寫入要繪制的畫謹脊面的內(nèi)容。

Android系統(tǒng),為了隱藏各廠家自身特定硬件驅(qū)動實現(xiàn)細節(jié),在用戶空間定義了一套硬件抽象層,各廠商在Android的硬件抽象層實現(xiàn)特定硬件的操作細節(jié),編譯成動態(tài)庫,以庫的形式提供給用戶使用。

hardware/libhardware/include/hardware/hardware.h 頭文件中定義一個代表模塊的結(jié)構(gòu)體 (hw_module_t),其中包含模塊的版本、名稱和作者等元數(shù)據(jù)。Android系統(tǒng) 會根據(jù)這些元數(shù)據(jù)來找到并正確加載 HAL 模塊。

hw_module_t 結(jié)構(gòu)體還包含指向另一個結(jié)構(gòu)體 hw_module_methods_t 的指針,后面這個結(jié)構(gòu)體包含指向相應(yīng)模塊的 open 函數(shù)的指針。此 open 函數(shù)用于與檔坦相關(guān)硬件(此 HAL 是其抽象形式)建立通信。每個硬件專用 HAL 通常都會使用該特定硬件的附加信息來擴展通用的 hw_module_t 結(jié)構(gòu)體。例如,在相機 HAL 中,camera_module_t 結(jié)構(gòu)體包含一個 hw_module_t 結(jié)構(gòu)體以及相機專用的其他函數(shù)指針:

實現(xiàn) HAL 并創(chuàng)建模塊結(jié)構(gòu)體時,您必須將其命名為 HAL_MODULE_INFO_SYM,以下是 Nexus 9 音頻 HAL 的示例:

設(shè)備是產(chǎn)品硬件的抽象表示。例如,一個音頻模塊可能包含主音頻設(shè)備、USB 音頻設(shè)備或藍牙 A2DP 音頻設(shè)備。

設(shè)備由 hw_device_t 結(jié)構(gòu)體表示。與模塊類似,每類設(shè)備都定義了一個通用 hw_device_t 的詳細版本,其中包含指向特定硬件功能的函數(shù)指針。例如,audio_hw_device_t 結(jié)構(gòu)體類型會包含指向音頻設(shè)備操作的函數(shù)指針:

參數(shù)為模塊的ID,最終會返回一個hw_module_t的結(jié)構(gòu)體保存在參數(shù)module中。

每個硬件抽象層模塊都必須定義HAL_MODULE_INFO_SYM符號,并且有自己唯一的ID。

hw_get_module會遍歷規(guī)定的幾個目錄來查找名稱對應(yīng)的動態(tài)庫,找到庫的路徑后,會調(diào)用load函數(shù)使用dlopen打開找到的庫,并依據(jù)HAL_MODULE_INFO_SYM_AS_STR(其值為HMI)獲取到hw_module_t(即HAL_MODULE_INFO_SYM)結(jié)構(gòu)體指針。以及把dlopen返回的handle保存在hw_module_t中,而hw_module_t HMI 結(jié)構(gòu)是一個全局結(jié)構(gòu)。

每個硬件抽象層必須有自己的ID以及HAL_MODULE_INFO_SYM符號,Gralloc也行晌桐不例外

hw_get_module硬件加載方法根據(jù)gralloc的ID, 查找到gralloc模塊定義的HAL_MODULE_INFO_SYM并返回給hw_module_t結(jié)構(gòu),但是HAL_MODULE_INFO_SYM是private_module_t結(jié)構(gòu)類型,如何賦值呢?

private_module_t負責(zé)管理顯示驅(qū)動framebuffer相關(guān)的信息,包括framebuffer的fd, 有多少個緩存,系統(tǒng)幀緩沖區(qū)使用情況,動態(tài)可變的信息,固定屬性的信息,顯示屏的寬高,刷新率等信息。

private_module_t 之一個變量是gralloc_module_t結(jié)構(gòu)。

gralloc_module_t 負責(zé)管理gralloc模塊相關(guān)的操作,其之一個是屬性是硬件抽象層規(guī)定的hw_module_t結(jié)構(gòu),其他都是關(guān)于gralloc模塊圖像buffer處理的相關(guān)操作方法。

hw_module_t結(jié)構(gòu)如下:

硬件抽象層hw_module_t結(jié)構(gòu)描述了硬件抽象層庫相關(guān)的信息。如版本號,id, 名稱,相關(guān)的操作方法等。

其中還定義了模塊的打開模塊的操作方法open.

根據(jù)以上的三個結(jié)構(gòu)我們可以畫出結(jié)構(gòu)圖如下:

回到上面問題,為什么private_module_t可以賦值給hw_module_t呢?這樣看就很簡單了,private_module_t的之一個變量就是gralloc_module_t, 而gralloc_module_t的數(shù)據(jù)之一個元素就是hw_module_t。private_module_t的首地址和hw_module_t的首地址是一樣的,所以可以直接賦值過去。

除了hw_module_t的數(shù)據(jù)結(jié)構(gòu)外,gralloc模塊還定義了兩種設(shè)備相關(guān)的數(shù)據(jù)結(jié)構(gòu):

1: framebuffer_device_t 用來描述系統(tǒng)幀緩沖區(qū)的信息

2:alloc_device_t 用于描述圖像分配相關(guān)的信息

從上一節(jié)數(shù)據(jù)結(jié)構(gòu)分析的過程中可知,設(shè)備打開的方法是在hw_module_t結(jié)構(gòu)中定義的,定義打開的方法為

gralloc_device_open方法用來打開設(shè)備

參數(shù)hw_module_t為硬件抽象層加載得到的結(jié)構(gòu)體

name 為打開目標設(shè)備的類型,分為兩種

參數(shù)hw_device_t為打開的設(shè)備保存的結(jié)構(gòu),返回給調(diào)用者

分別分析下打開兩種設(shè)備的過程

gralloc_device_open根據(jù)參數(shù)的不同來打開不同的設(shè)備,打開設(shè)備GRALLOC_HARDWARE_FB0,調(diào)用了fb_device_open方法

這個函數(shù)創(chuàng)建了一個fb_context_t的數(shù)據(jù)結(jié)構(gòu), 并對其進行初始化,fb_context_t的device變量就是framebuffer_device_t,用來描述fb設(shè)備的。

同時還注冊了操作fb設(shè)備的幾個函數(shù), 其中fb_post函數(shù)比較關(guān)鍵,負責(zé)將圖形緩沖區(qū)的內(nèi)容渲染到Framebuffer的顯存中。

然后使用mapFrameBuffer函數(shù)來獲取幀緩沖區(qū)的信息,然后將信息保存到framebuffer_device_t結(jié)構(gòu)中,并將fb設(shè)備映射到當(dāng)前進程。

再看下mapFrameBuffer做了什么操作?

mapFrameBuffer函數(shù)做了幾件事情

1:打開fb設(shè)備,獲取fb驅(qū)動的相關(guān)信息

2:設(shè)置fb的 yres_virtual為雙緩沖大小

3:計算像素密度

4:計算雙緩沖大小,并將其映射到當(dāng)前進程,將緩沖區(qū)起始地址寶尊在framebuffer_device_t的base屬性中。

至此FB設(shè)備打開過程就分析完了,F(xiàn)B設(shè)備打開過程做了什么事情?

打開fb設(shè)備,根據(jù)fb設(shè)備初始化相關(guān)的顯示信息,并把fb設(shè)備顯存映射到當(dāng)前進程方便訪問,同時還注冊了幾個操作fb設(shè)備的方法。

gralloc設(shè)備使用結(jié)構(gòu)體alloc_device_t來描述。結(jié)構(gòu)體alloc_device_t有兩個成員函數(shù)alloc和free,分別用來分配和釋放圖形緩沖區(qū)。

首先創(chuàng)建了一個gralloc_context_t的上下文,gralloc_context_t的device就是alloc_device_t, 對其進行初始化 ,同時注冊了幾個操作alloc_device_t設(shè)備的函數(shù), gralloc_alloc和gralloc_free用于分配和釋放圖形緩沖區(qū)。

分析了兩種設(shè)備打開的過程, 但是什么時候會打開這兩種設(shè)備呢?

1:FB設(shè)備打開時機

FB設(shè)備打開時機實在HWCompser構(gòu)造函數(shù)中打開的,說明HWCompser會操作fb設(shè)備,渲染圖像緩沖區(qū)到顯示緩沖區(qū), 具體在分析HWCompser的時候在進行分析。

2:gralloc設(shè)備打開時機

gralloc設(shè)備用于管理GraphicBuffer圖形緩沖區(qū),是在GraphicBufferAllocator中打開的,GraphicBufferAllocator負責(zé)圖形緩沖區(qū)的分配和釋放。后續(xù)在做詳細分析

文章參考: Android圖形顯示之硬件抽象層Gralloc

.fbx linux的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于.fbx linux,深入了解FBX在Linux操作系統(tǒng)中的使用,Gralloc模塊分析的信息別忘了在本站進行查找喔。

香港服務(wù)器選創(chuàng)新互聯(lián),香港虛擬主機被稱為香港虛擬空間/香港網(wǎng)站空間,或者簡稱香港主機/香港空間。香港虛擬主機特點是免備案空間開通就用, 創(chuàng)新互聯(lián)香港主機精選cn2+bgp線路訪問快、穩(wěn)定!


文章名稱:深入了解FBX在Linux操作系統(tǒng)中的使用(.fbxlinux)
文章轉(zhuǎn)載:http://www.5511xx.com/article/ccedehd.html