Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

October 28, 2024 #192

Merged
merged 4 commits into from
Oct 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .nuget/uvatlas_desktop_2019.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<description>This version is for Windows desktop applications using Visual Studio 2019 (16.11) or Visual Studio 2022.

UVAtlas, a shared source library for creating and packing an isochart texture atlas.</description>
<releaseNotes>Matches the September 4, 2024 release on GitHub.</releaseNotes>
<releaseNotes>Matches the October 29, 2024 release on GitHub.</releaseNotes>
<projectUrl>http://go.microsoft.com/fwlink/?LinkID=512686</projectUrl>
<repository type="git" url="https://github.com/microsoft/UVAtlas.git" />
<icon>images\icon.jpg</icon>
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,19 @@ Release available for download on [GitHub](https://github.com/microsoft/UVAtlas/

## Release History

### October 29, 2024
* All enums now use ``uint32_t`` as the underlying type rather than ``unsigned long`` or ``int``.
* uvatlastool:
* Add "GNU-style" *--long-options* to the command-line tools (all existing switches are still supported)
* Refactored code to use shared header
* Updated for October 2024 DirectXTex & DirectXMesh releases
* CMake and MSBuild project updates

### September 4, 2024
* CMake project updates including support for ARM64EC
* Code review
* Added GitHub Actions YAML files
* uvatlastool: Updated for September 2024 DirectXTex & DirectXMesh releases

### June 5, 2024
* CMake project updates
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

cmake_minimum_required (VERSION 3.20)

set(UVATLAS_VERSION 1.8.8)
set(UVATLAS_VERSION 1.8.9)

if(WINDOWS_STORE OR (DEFINED XBOX_CONSOLE_TARGET))
set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
Expand Down
45 changes: 30 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ http://go.microsoft.com/fwlink/?LinkID=512686

Copyright (c) Microsoft Corporation.

**September 4, 2024**
**October 29, 2024**

This package contains UVAtlas, a shared source library for creating and packing an isochart texture atlas.

Expand All @@ -16,25 +16,27 @@ These components are designed to work without requiring any content from the leg

## Directory Layout

* ``Inc\``
* ``UVAtlas\``

+ Public Header File (in the DirectX C++ namespace):
+ ``Inc\``

* UVtlas.h
- UVAtlasCreate
- UVAtlasPartition
- UVAtlasPack
- UVAtlasComputeIMTFromPerVertexSignal
- UVAtlasComputeIMTFromSignal
- UVAtlasComputeIMTFromTexture
- UVAtlasComputeIMTFromPerTexelSignal
- UVAtlasApplyRemap
+ Public Header File (in the DirectX C++ namespace):

* ``geodesics\``, ``isochart\``
* UVtlas.h
- UVAtlasCreate
- UVAtlasPartition
- UVAtlasPack
- UVAtlasComputeIMTFromPerVertexSignal
- UVAtlasComputeIMTFromSignal
- UVAtlasComputeIMTFromTexture
- UVAtlasComputeIMTFromPerTexelSignal
- UVAtlasApplyRemap

+ Library source files
* ``geodesics\``, ``isochart\``

* ``UVAtasTool\``
+ Library source files

* ``UVAtlasTool\``

+ Command line tool and sample for UVAtlas library

Expand Down Expand Up @@ -78,6 +80,19 @@ For a full change history, see [CHANGELOG.md](https://github.com/microsoft/UVAtl

* When using clang/LLVM for the ARM64/AArch64 platform, the Windows 11 SDK ([22000](https://walbourn.github.io/windows-sdk-for-windows-11/)) or later is required.

* As of the October 2024 release, the command-line tool also supports GNU-style long options using ``--``. All existing switches continue to function, but some of the `-` options are now deprecated per this table:

|Old switch|New switch|
|---|---|
|-sdkmesh|-ft sdkmesh<br />--file-type sdkmesh|
|-sdkmesh2|-ft sdkmesh2<br />--file-type sdkmesh2|
|-cmo|-ft cmo<br />--file-type cmo|
|-vbo|-ft vbo<br />--file-type vbo|
|-wf|-ft obj<br />--file-type obj|
|-flipu|--flip-u|
|-flipv|--flip-v|
|-flipz|--flip-z|

## Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
Expand Down
2 changes: 1 addition & 1 deletion UVAtlas/inc/UVAtlas.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@

#include <DirectXMath.h>

#define UVATLAS_VERSION 188
#define UVATLAS_VERSION 189


namespace DirectX
Expand Down
6 changes: 4 additions & 2 deletions UVAtlasTool/MeshOBJ.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,10 @@
bool ccw,
bool dds)
{
WaveFrontReader<uint32_t> wfReader;
using Vertex = DX::WaveFrontReader<uint32_t>::Vertex;

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2019, x64-Debug-VCPKG, amd64)

'DX': is not a class or namespace name

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2019, x64-Debug-VCPKG, amd64)

syntax error: missing ';' before '<'

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2019, x64-Debug-VCPKG, amd64)

syntax error: '<'

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2019, x64-Debug-VCPKG, amd64)

'Vertex': is not a member of '`global namespace''

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x64-Debug-VCPKG, amd64)

'DX': is not a class or namespace name

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x64-Debug-VCPKG, amd64)

syntax error: missing ';' before '<'

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x64-Debug-VCPKG, amd64)

syntax error: '<'

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x64-Debug-VCPKG, amd64)

'Vertex': is not a member of '`global namespace''

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x86-Debug-VCPKG, amd64_x86)

'DX': is not a class or namespace name

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x86-Debug-VCPKG, amd64_x86)

syntax error: missing ';' before '<'

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x86-Debug-VCPKG, amd64_x86)

syntax error: '<'

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x86-Debug-VCPKG, amd64_x86)

'Vertex': is not a member of '`global namespace''

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, arm64-Debug-VCPKG, amd64_arm64)

'DX': is not a class or namespace name

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, arm64-Debug-VCPKG, amd64_arm64)

syntax error: missing ';' before '<'

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, arm64-Debug-VCPKG, amd64_arm64)

syntax error: '<'

Check failure on line 68 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, arm64-Debug-VCPKG, amd64_arm64)

'Vertex': is not a member of '`global namespace''

DX::WaveFrontReader<uint32_t> wfReader;

Check failure on line 70 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2019, x64-Debug-VCPKG, amd64)

'DX': is not a class or namespace name

Check failure on line 70 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2019, x64-Debug-VCPKG, amd64)

syntax error: '<'

Check failure on line 70 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x64-Debug-VCPKG, amd64)

'DX': is not a class or namespace name

Check failure on line 70 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x64-Debug-VCPKG, amd64)

syntax error: '<'

Check failure on line 70 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x86-Debug-VCPKG, amd64_x86)

'DX': is not a class or namespace name

Check failure on line 70 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x86-Debug-VCPKG, amd64_x86)

syntax error: '<'

Check failure on line 70 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, arm64-Debug-VCPKG, amd64_arm64)

'DX': is not a class or namespace name

Check failure on line 70 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, arm64-Debug-VCPKG, amd64_arm64)

syntax error: '<'
HRESULT hr = wfReader.Load(szFilename, ccw);

Check failure on line 71 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2019, x64-Debug-VCPKG, amd64)

'wfReader': undeclared identifier

Check failure on line 71 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x64-Debug-VCPKG, amd64)

'wfReader': undeclared identifier

Check failure on line 71 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x86-Debug-VCPKG, amd64_x86)

'wfReader': undeclared identifier

Check failure on line 71 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, arm64-Debug-VCPKG, amd64_arm64)

'wfReader': undeclared identifier
if (FAILED(hr))
return hr;

Expand All @@ -74,10 +76,10 @@
if (!inMesh)
return E_OUTOFMEMORY;

if (wfReader.indices.empty() || wfReader.vertices.empty())

Check failure on line 79 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2019, x64-Debug-VCPKG, amd64)

'wfReader': undeclared identifier

Check failure on line 79 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2019, x64-Debug-VCPKG, amd64)

'wfReader': undeclared identifier

Check failure on line 79 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x64-Debug-VCPKG, amd64)

'wfReader': undeclared identifier

Check failure on line 79 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x64-Debug-VCPKG, amd64)

'wfReader': undeclared identifier

Check failure on line 79 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x86-Debug-VCPKG, amd64_x86)

'wfReader': undeclared identifier

Check failure on line 79 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x86-Debug-VCPKG, amd64_x86)

'wfReader': undeclared identifier

Check failure on line 79 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, arm64-Debug-VCPKG, amd64_arm64)

'wfReader': undeclared identifier

Check failure on line 79 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, arm64-Debug-VCPKG, amd64_arm64)

'wfReader': undeclared identifier
return E_FAIL;

hr = inMesh->SetIndexData(wfReader.indices.size() / 3, wfReader.indices.data(),

Check failure on line 82 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2019, x64-Debug-VCPKG, amd64)

'wfReader': undeclared identifier

Check failure on line 82 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x64-Debug-VCPKG, amd64)

'wfReader': undeclared identifier

Check failure on line 82 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, x86-Debug-VCPKG, amd64_x86)

'wfReader': undeclared identifier

Check failure on line 82 in UVAtlasTool/MeshOBJ.cpp

View workflow job for this annotation

GitHub Actions / build (windows-2022, arm64-Debug-VCPKG, amd64_arm64)

'wfReader': undeclared identifier
wfReader.attributes.empty() ? nullptr : wfReader.attributes.data());
if (FAILED(hr))
return hr;
Expand Down Expand Up @@ -117,7 +119,7 @@
if (FAILED(hr))
return hr;

hr = vbr.AddStream(wfReader.vertices.data(), wfReader.vertices.size(), 0, sizeof(WaveFrontReader<uint32_t>::Vertex));
hr = vbr.AddStream(wfReader.vertices.data(), wfReader.vertices.size(), 0, sizeof(Vertex));
if (FAILED(hr))
return hr;

Expand Down
8 changes: 4 additions & 4 deletions UVAtlasTool/UVAtlasTool_2019.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -315,14 +315,14 @@
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="..\packages\directxmesh_desktop_2019.2024.9.5.1\build\native\directxmesh_desktop_2019.targets" Condition="Exists('..\packages\directxmesh_desktop_2019.2024.9.5.1\build\native\directxmesh_desktop_2019.targets')" />
<Import Project="..\packages\directxtex_desktop_2019.2024.9.5.1\build\native\directxtex_desktop_2019.targets" Condition="Exists('..\packages\directxtex_desktop_2019.2024.9.5.1\build\native\directxtex_desktop_2019.targets')" />
<Import Project="..\packages\directxmesh_desktop_2019.2024.10.29.1\build\native\directxmesh_desktop_2019.targets" Condition="Exists('..\packages\directxmesh_desktop_2019.2024.10.29.1\build\native\directxmesh_desktop_2019.targets')" />
<Import Project="..\packages\directxtex_desktop_2019.2024.10.29.1\build\native\directxtex_desktop_2019.targets" Condition="Exists('..\packages\directxtex_desktop_2019.2024.10.29.1\build\native\directxtex_desktop_2019.targets')" />
</ImportGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\directxmesh_desktop_2019.2024.9.5.1\build\native\directxmesh_desktop_2019.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\directxmesh_desktop_2019.2024.9.5.1\build\native\directxmesh_desktop_2019.targets'))" />
<Error Condition="!Exists('..\packages\directxtex_desktop_2019.2024.9.5.1\build\native\directxtex_desktop_2019.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\directxtex_desktop_2019.2024.9.5.1\build\native\directxtex_desktop_2019.targets'))" />
<Error Condition="!Exists('..\packages\directxmesh_desktop_2019.2024.10.29.1\build\native\directxmesh_desktop_2019.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\directxmesh_desktop_2019.2024.10.29.1\build\native\directxmesh_desktop_2019.targets'))" />
<Error Condition="!Exists('..\packages\directxtex_desktop_2019.2024.10.29.1\build\native\directxtex_desktop_2019.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\directxtex_desktop_2019.2024.10.29.1\build\native\directxtex_desktop_2019.targets'))" />
</Target>
</Project>
8 changes: 4 additions & 4 deletions UVAtlasTool/UVAtlasTool_2022.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -315,14 +315,14 @@
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="..\packages\directxmesh_desktop_2019.2024.9.5.1\build\native\directxmesh_desktop_2019.targets" Condition="Exists('..\packages\directxmesh_desktop_2019.2024.9.5.1\build\native\directxmesh_desktop_2019.targets')" />
<Import Project="..\packages\directxtex_desktop_2019.2024.9.5.1\build\native\directxtex_desktop_2019.targets" Condition="Exists('..\packages\directxtex_desktop_2019.2024.9.5.1\build\native\directxtex_desktop_2019.targets')" />
<Import Project="..\packages\directxmesh_desktop_2019.2024.10.29.1\build\native\directxmesh_desktop_2019.targets" Condition="Exists('..\packages\directxmesh_desktop_2019.2024.10.29.1\build\native\directxmesh_desktop_2019.targets')" />
<Import Project="..\packages\directxtex_desktop_2019.2024.10.29.1\build\native\directxtex_desktop_2019.targets" Condition="Exists('..\packages\directxtex_desktop_2019.2024.10.29.1\build\native\directxtex_desktop_2019.targets')" />
</ImportGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\directxmesh_desktop_2019.2024.9.5.1\build\native\directxmesh_desktop_2019.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\directxmesh_desktop_2019.2024.9.5.1\build\native\directxmesh_desktop_2019.targets'))" />
<Error Condition="!Exists('..\packages\directxtex_desktop_2019.2024.9.5.1\build\native\directxtex_desktop_2019.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\directxtex_desktop_2019.2024.9.5.1\build\native\directxtex_desktop_2019.targets'))" />
<Error Condition="!Exists('..\packages\directxmesh_desktop_2019.2024.10.29.1\build\native\directxmesh_desktop_2019.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\directxmesh_desktop_2019.2024.10.29.1\build\native\directxmesh_desktop_2019.targets'))" />
<Error Condition="!Exists('..\packages\directxtex_desktop_2019.2024.10.29.1\build\native\directxtex_desktop_2019.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\directxtex_desktop_2019.2024.10.29.1\build\native\directxtex_desktop_2019.targets'))" />
</Target>
</Project>
4 changes: 2 additions & 2 deletions UVAtlasTool/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="directxmesh_desktop_2019" version="2024.9.5.1" targetFramework="native" />
<package id="directxtex_desktop_2019" version="2024.9.5.1" targetFramework="native" />
<package id="directxmesh_desktop_2019" version="2024.10.29.1" targetFramework="native" />
<package id="directxtex_desktop_2019" version="2024.10.29.1" targetFramework="native" />
</packages>
Loading