gltf模型浏览器_加强glTF 3D格式支持,AMD正式发布Compressonator V2.7

原标题:加强glTF 3D格式支持,AMD正式发布Compressonator V2.7

glTF格式也可以成为3D场景中的标准格式。

(映维网 2017年12月04日)The Khronos Group开发过很多跟计算机视觉呈现相关的关键技术,其中包括Vulkan、OpenGL、WebGL等等。而最新的glTF是一种可以减少3D格式中与渲染无关的冗余数据的3D文件格式。正如音频界的mp3和图片界的jpeg一样,glTF格式也可以成为3D场景中的标准格式。

现在,glTF格式进一步等到了科技巨头的支持。映维网了解到,AMD近期正式发布了Compressonator V2.7,包含一系列的新功能和优化,包括跨平台支持、glTF 3D模型预览和压缩,3D模型差异查看器等。

b49d0649ba28d84340ccb7c166142821.png

1. 跨平台

由于市场的普遍需求,Compressonator发行包现在提供了Linux版本的Compressonator SDK库和命令行应用,你也可以自行为MacOS进行编译打包。

2. glTF 3D模型预览和压缩

ompressonator GUI应用现在支持加载glTF v2.0 3D模型,并通过DirectX12 API进行渲染。Compressonator可以压缩和分析glTF模型中的2D纹理asset。

6db38284920596b5faa9792aeb593033.png

加载的模型是通过Model Viewer项目的预览版进行渲染,而预览版是一个通过DirectX12实现PBR(基于物理的渲染)的应用实例。另外,支持OpenGL和Vulkan的Model Viewer优化版本正在开发之中。

3. Project Explorer

Project Explorer支持打开glTF v2.0文件,并显示模型所使用的一切基物(Physically-Based)材质(Base Color、Metallic、Roughness )和插件(Diffuse、Specularhe Glossiness)。用户还可以利用原件(包含任意所选材料的一系列压缩选项)制作其他副本。

f14eaabdae8fc1092b8e23e88326fa5c.png

在压缩之后,用户还可以实时地并排查看和比较最终渲染模型的质量。

df857be537343d3b408c5f29e8da3a1e.png

4. 3D模型差异查看器

新3D模型差异查看器同时使用了压缩和非压缩模型的叠加动画序列,以显示模型最终压缩版本与原始版本的比较。该查看器更容易发现基于网格优化中的伪影,或者已经应用其他类型的基于模型的压缩。

fb3da849580207624660a4fc879225cd.png

下载或了解更多关于该工具的信息请查看Compressonator专页(点击前往)或者GitHub页面(点击前往)。

原文链接:https://yivian.com/news/38987.html 返回搜狐,查看更多

责任编辑:

"uniform float gltf_u_dec_texcoord_0_normConstant; uniform vec2 gltf_u_dec_texcoord_0_min; vec2 gltf_a_dec_texcoord_0; uniform float gltf_u_dec_position_normConstant; uniform vec3 gltf_u_dec_position_min; vec3 gltf_a_dec_position; precision highp float; uniform mat4 u_modelViewMatrix; uniform mat4 u_projectionMatrix; #ifdef APPLY_FLATTEN uniform sampler2D gltf_flattenTexture; uniform vec4 gltf_flattenBounds; uniform mat4 gltf_flattenRenderMatrix; uniform mat4 gltf_flattenInverseRenderMatrix; uniform float gltf_flattenHeight; #endif attribute vec3 a_position; attribute vec2 a_texcoord_0; varying vec2 v_texcoord_0; void gltf_decoded_POSITION() { vec3 weightedPosition = gltf_a_dec_position; vec4 position = vec4(weightedPosition, 1.0); position = u_modelViewMatrix * position; gl_Position = u_projectionMatrix * position; #ifdef PICK_VERTEX gl_PointSize = 1.0; #endif #ifdef APPLY_FLATTEN vec4 positionRelative = gltf_flattenInverseRenderMatrix * position; vec2 flattenBoundsDimension = gltf_flattenBounds.zw - gltf_flattenBounds.xy; vec2 texCoord = (positionRelative.xy - gltf_flattenBounds.xy) / flattenBoundsDimension; bool outOfBounds = texCoord.x > 1.0 || texCoord.x < 0.0 || texCoord.y > 1.0 || texCoord.y < 0.0; vec4 color = texture2D(gltf_flattenTexture, texCoord); if(!outOfBounds && abs(color.r - 1.0) < 0.1) { positionRelative.z = gltf_flattenHeight + sin(positionRelative.z) * 0.1; gl_Position = u_projectionMatrix * gltf_flattenRenderMatrix * positionRelative; } #endif v_texcoord_0 = gltf_a_dec_texcoord_0; } void gltf_decoded_TEXCOORD_0() { gltf_a_dec_position = gltf_u_dec_position_min + a_position * gltf_u_dec_position_normConstant; gltf_decoded_POSITION(); } void main() { gltf_a_dec_texcoord_0 = gltf_u_dec_texcoord_0_min + a_texcoord_0 * gltf_u_dec_texcoord_0_normConstant; gltf_decoded_TEXCOORD_0(); } "
02-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值