From b7d02dacbb86e845b541c59e39c8766a7bf360c7 Mon Sep 17 00:00:00 2001 From: Nick Avramoussis <4256455+Idclip@users.noreply.github.com> Date: Wed, 13 Jan 2021 16:49:44 +0000 Subject: [PATCH] Release AX 1.0.0 and migrate official AX support to OpenVDB ASWF Signed-off-by: Nick Avramoussis <4256455+Idclip@users.noreply.github.com> --- CHANGES.md | 10 ++++++++- README.md | 61 +++++++++++++----------------------------------------- ROADMAP.md | 44 --------------------------------------- 3 files changed, 23 insertions(+), 92 deletions(-) delete mode 100644 ROADMAP.md diff --git a/CHANGES.md b/CHANGES.md index 58d7b71..7b5bdb3 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,7 +1,15 @@ OpenVDB AX Version History ========================== -Version 1.0.0 - In Development +Version 1.0.0 - January 18, 2021 + + This release coincides with the release of OpenVDB 8.0.0, where the core + OpenVDB AX library has been incorporated into the OpenVDB ASWF repository. + Future development will be focused in the OpenVDB ASWF repo. The standalone + OpenVDB AX repository is in maintenance mode. + + See the official OpenVDB ASWF repository: + https://github.com/AcademySoftwareFoundation/openvdb New Features: - Introduced new error logging framework for AX syntax errors/warnings, diff --git a/README.md b/README.md index 4495bea..41400de 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,21 @@ -# OpenVDB AX [![ax](https://github.com/dneg/openvdb_ax/workflows/ax/badge.svg)](https://github.com/dneg/openvdb_ax/actions) +# OpenVDB AX +* [Migration](#migration) * [Introduction](#introduction) -* [Development Repository](#development-repository) - * [License](#license) - * [Documentation](#documentation) - * [Requirements](#requirements) - * [Developer Quick Start](#developer-quick-start) -* [Roadmap](#roadmap) +* [License](#license) +## Migration -## Introduction +### **This repository is in maintenance mode.** -OpenVDB AX is an open source C++ library that provides a powerful and easy way of interacting with [OpenVDB](http://www.openvdb.org/) point and volume data. This exposes an expression language to allow fast, custom manipulation of point attributes and voxel values using a collection of mathematical functions. Expressions are quickly JIT-compiled and to offer great performance that in many cases rival custom C++ operators. It is developed and maintained by DNEG, providing a flexible and portable way to work with OpenVDB data. +As of OpenVDB AX 1.0.0 and OpenVDB 8.0.0, this repository has been merged into the [OpenVDB ASWF repository](https://github.com/AcademySoftwareFoundation/openvdb). All future development for OpenVDB AX will be focused there. It is strongly encouraged to use OpenVDB AX through the OpenVDB repository, which contains fixes, improvements and up to date documentation! +See https://github.com/AcademySoftwareFoundation/openvdb -## Development repository -This repository hosts the latest developments in the OpenVDB AX repository. This has been used in production at DNEG in various feature films yet remains a work-in-progress and such may be quite volatile. That is, both API and ABI **may be subject to change** so development using more niche features and lower-level components of the library (close to the LLVM component) should be approached with caution. However, use of the library and AX language (i.e. through the provided vdb_ax binary and Houdini OpenVDB AX SOP) is encouraged and future developments will focus on extending the language further to offer a wider range of functionality. +## Introduction -For the latest changes please see our [change log](CHANGES.md). +OpenVDB AX is an open source C++ library that provides a powerful and easy way of interacting with [OpenVDB](http://www.openvdb.org/) point and volume data. This exposes an expression language to allow fast, custom manipulation of point attributes and voxel values using a collection of mathematical functions. Expressions are quickly JIT-compiled and to offer great performance that in many cases rival custom C++ operators. It was originally developed and maintained by DNEG, providing a flexible and portable way to work with OpenVDB data. ### License @@ -28,15 +25,10 @@ OpenVDB AX is released under the [Mozilla Public License Version 2.0](https://ww ### Requirements -OpenVDB AX follows the same requirements as OpenVDB. For more information on required dependency versions, see the [OpenVDB Dependency Page](https://www.openvdb.org/documentation/doxygen/dependencies.html). Importantly, OpenVDB AX requires the following: - * A C++ 14 Compiler - * [OpenVDB 6.2.1](https://github.com/AcademySoftwareFoundation/openvdb/releases/tag/v6.2.1) or later + * [OpenVDB 7.0.0](https://github.com/AcademySoftwareFoundation/openvdb/releases/tag/v7.0.0) or later * [LLVM](https://llvm.org/). Though OpenVDB AX supports versions of LLVM >= 6.0, we recommend LLVM 8.0 which is the current version most used and tested against. -### Documentation - -This library uses doxygen for creating its documentation. This documentation currently includes both developer and user documentation including language examples, syntax and list of available functions. ### Developer Quick Start @@ -68,28 +60,6 @@ make install cd ../.. ``` -##### Building OpenVDB -``` -git clone --branch v6.2.1 https://github.com/AcademySoftwareFoundation/openvdb.git openvdb -cd openvdb -mkdir build -cd build -cmake .. -make -j4 -make install -``` - -##### Building OpenVDB AX -``` -git clone https://github.com/dneg/openvdb_ax.git openvdb_ax -cd openvdb_ax -mkdir build -cd build -cmake .. -make -j4 -make install -``` - #### macOS ##### Installing Dependencies (Boost, TBB, OpenEXR, Blosc) ``` @@ -115,9 +85,10 @@ make -j4 make install cd ../.. ``` -##### Building OpenVDB + +#### Building OpenVDB ``` -git clone --branch v6.2.1 https://github.com/AcademySoftwareFoundation/openvdb.git openvdb +git clone https://github.com/AcademySoftwareFoundation/openvdb.git openvdb cd openvdb mkdir build cd build @@ -126,7 +97,7 @@ make -j4 make install ``` -##### Building OpenVDB AX +#### Building OpenVDB AX ``` git clone https://github.com/dneg/openvdb_ax.git openvdb_ax cd openvdb_ax @@ -136,7 +107,3 @@ cmake .. make -j4 make install ``` - -## Roadmap - -Please see our [roadmap](ROADMAP.md) for more details. diff --git a/ROADMAP.md b/ROADMAP.md deleted file mode 100644 index 6573ef2..0000000 --- a/ROADMAP.md +++ /dev/null @@ -1,44 +0,0 @@ -# OpenVDB AX Roadmap - -This page holds the latest details on work in progress, completed goals and future plans for the development of OpenVDB AX. It is updated periodically as milestones develop. - -## Completed goals - -A list of completed features/milestones that previously appeared on the OpenVDB AX Roadmap - -* Travis support for OpenVDB AX core library. -* Improved syntax and performance for the access of Custom Data (custom user parameters). -* CMake support for building OpenVDB AX on OSX. -* Support for string variables and string point attributes. -* Bison/Flex CMake Support for re-generating language grammar and lexer files. -* Noise functions supported by AX. -* Support for matrix variables and matrix point attributes. -* For/while loops. -* Ternary operators. - -## Current goals - -This section is dedicated to the near future and current milestones. - -### v1.0.0 - -Most current work is aimed at our first stable release of OpenVDB AX. This is primarily defined by the lock down of the front end API which requires some refactoring of existing architecture before it is suitably future-proof. In addition to that we hope to include some other general improvements and features: - -#### Improvements: -* Improved developer and user facing documentation. -* Additional tests. -* Better backend architecture for strings -* Solidifying the Compiler API and error/warning management - -## Further down the road... - -This section is where we talk about other longer term ambitions we have for OpenVDB AX. These generally take the shape of features to be added to the language. These are in no particular order and we are hoping for input from the community to help drive the direction we go with these. - -* Support for array variables and array point attributes. -* User defined function declarations. -* Syntax highlighting for AX in Houdini and possibly some text editors. -* Voxel active state lookup and editing. -* Neighbouring voxel/point lookups. -* Windows CMake support and continuous integration. -* Sampling and rasterisation functionality. -* CI hython test support for OpenVDB AX Houdini