Amplify Texture v2.0.2 is Now Available for Download
http://amplify.pt/download
Dear developer, http://amplify.pt/download
We're finally able to deliver the long awaited devbuild 2 and proudly present to you the long awaited new feature: multi-VT or Multiple Virtual Textures Per-Scene (simultaneously). We had to change a lot of code to get these running and we're hoping they'll be worth the wait. To get this feature working we also had to reduce the memory footprint dramatically, which is a great bonus.
AT2 no longer takes hundreds of MB of system RAM, even if you're using 16 of the largest Virtual Textures. GPU/video RAM, on the other hand is currently overused by AT2 on High and Ultra modes. If you're using 16 large VTs, we recommend you target GPUs with, at least, 6 GB of GPU memory. This overuse is temporary, however, and we'll be reducing the minimum requirements for Ultra mode down to 2 GB in future revisions.
Again, please keep in mind that, while we're getting closer to shipping, this is still a development version and not recommended for production. We estimate that AT2 will be close to production quality around devbuilds 3 or 4.
Here are the changes introduced in AT2 v2.0.2 aka db2:
- Requirements
• Unity 4.3.3+
Changes
• Multi-VT support; Up to 16 simultaneous Virtual Textures per-scene (max 64 Terapixel)
• Dramatic runtime memory footprint reduction; RAM footprint no longer depends on VT size
• Introduced Virtual Texture Hardware Level property
• Added new Cache Sizes for High and Ultra HW Level modes; 1024MB_16K and 2048MB_16K
• Improved runtime performance inside the editor
• Incremental build check is now triggered only when relevant changes happen (e.g. VTs and related materials)
• Tile size is no longer explicitly changeable; will depend on HW Level
• Using tile size of 512 x 512 no longer crashes (VT size >= 1024K x 1024K)
• Disabled block-based runtime compression; subject to change
• New Virtual Textures no longer contain a default material folder; must set one to begin
• Added/fixed OSX support
• Added/fixed OpenGL support
• Added/fixed DX11 support
• Amplify Texture specific profiler tags for light profiling
Known Issues
• Multiple Camera/Runtime still broken; to be fixed in db3
• Error "Tried to read pixel out of bounds" is sometimes raised by Unity when playing on empty scenes
- Multiple Virtual Textures Per-Scene
The way this works is by filling a Virtual Texture array property with multiple textures on the Amplify Texture Manager, instead of the single one slot that was available in previous releases. Please note that VT Cache and Streaming Threads are are shared between all the VTs used in the same scene.
If you notice invalid/black texturing on surfaces, using Amplify materials, that belong to a VT that is not assigned to the Manager, please note that this is expected behaviour. We'll be fixing this soon by introducing a new placeholder texture pattern in a later revision.
Hardware Levels
These are defined per-VT (top property) and were introduced to make it easier for us to deploy specific optimizations to certain hardware. We'll be delivering different capabilities and optimizations on Mobile hardware, Mainstream PCs, all the way to Ultra High-end workstations by targeting different minimum specs, APIs and GPU feature levels. This will open a ton of new possibilities for everyone.
Hardware levels force constraints on Virtual Texture Size and runtime Cache Size:
• Mobile - limited to 128K x 128K VTs and _128MB_4K cache
• Standard - limited to 256K x 256K VTs and _512MB_8K cache
• High - limited to 512K x 512K VTs and _1024MB_16K cache
• Ultra - limited to 2048K x 2048K and _2048MB_16K cache
Please note that all multiple Virtual Textures used in one scene must belong to the same Hardware Level.
Material Folders
Project root "Assets/" is no longer the default Material Search folder. Now, a new VT does not define material folders by default anymore. This will prevent accidentally building a giant VT for your entire project when you're trying to set things up.
Virtual Texture Builds
There were some issues that were causing build checks to be triggered way too often. This was causing a massive slowdown in the editor. Now, VT build checks (checking if materials changed) will be triggered only if the VT asset, or a material belonging to any of the search folders, is modified and ONLY if a Project/Scene Save is triggered (or Update/Rebuild are hit). Also, a progress bar for the build check phase is shown before the actual build. This way you always know what's happening.
Runtime Performance
We're leaving all the optimizations to the last revisions, once we have all the workflow and features pretty much nailed. And trust me, we have a TON of performance and memory optimizations planned. However, our priorities at the moment are features, robustness, scalability, workflow and user interface.
Also, please keep in mind that AT2 will always be slower inside the editor due to thread syncing happening when playing inside the editor. To get more accurate profiling, please link the profiler to a standalone build instead.
- Alloy Physical Shader Framework and Shader Forge
Unfortunately, third-party support had to be postponed to devbuild 3.
Virtual Texture Layout Presets
This feature is very linked with third-party support, so also postponed to devbuild 3.
Texture Import Folder Proxy
We will be introducing a remote/proxy import folder tool that will help avoid having to copy your large textures, or any textures meant for virtualization for that matter, into your Unity project folder. This workflow will allow you to specify texture folders, outside the Unity project folder, that will be added to the VT by Amplify Texture without Unity ever touching them.
Unity 5 Beta
We'll be adding support for Unity 5 Beta and 64bit editor on devbuild 3. This should solve a lot of issues for people using textures larger than 8K x 8K.
Imagine adding your MARI output folder to the list of proxy folders and have them update on your VT as soon as they're changed. This should be a massive time saver, as well as allow us to support textures of any size (only bound to existing RAM). This feature is most likely show up on devbuild 3.
- If AT2 is a pivotal tool in your large-scale project, please consider providing us one of your larger datasets for robustness testing. Unfortunately we're lacking large data sets and in AT2 we _really_ want to solve ALL scalability issues.
Please note that we're available to sign any contracts or NDAs necessary to protect your copyright. We are absolutely certain that both our parties can benefit from this type of cooperation. If you're interest, please contact us directly or, feel free to reply here to get things started.
As usual, we invite you to participate and help us shape this product. Your feedback is very important to us.