procedural-3d-engine/external/ktx/LICENSE.md
Sascha Willems feb939096f
Merge glTF branch (#747)
* Added helper function for easy pipeline vertex input state create info structure setup from glTF model vertex class

* Split glTF loader into header and implementation

* Updated sample to use glTF

* Removed collada files

Replaced assets are now part of the asset pack

* Return value for glTF model vertex input state create info helper

* Removed unused assets

* Use glTF assets

* Added default material for glTF node's without materials

* Use glTF assets

* Apply pre-transforms to normals

* Use glTF assets

* Use glTF assets

* Use vertex input state from glTF model class

* Scene setup

* Use glTF assets

* Use glTF assets

* Display error message and exit if glTF file could not be loaded

* Use glTF assets

* Use glTF assets

* Use glTF assets

* Remove unused buffer binds

* Use glTF assets

* Remove no longer used model files

* Remove no longer used model files

* Added support for rendering glTF models with images

* glTF model normal pre-transform ignores translation

* Use glTF assets

* Use glTF assets

* Use glTF assets

* Use glTF assets

* Use glTF assets

* Only add combined image samplers to pool if actually used in the scene

* Use global descriptor set layouts

* Use global descriptor set layouts

* Use glTF assets

* Use glTF assets

* Use glTF assets

Code cleanup
Updated GLSL and HLSL shaders

* Use glTF assets

Code cleanup

* Use glTF assets

Code cleanup
Updated GLSL and HLSL shaders

* Remove no-longer used model

* Use glTF assets

Code cleanup
Updated GLSL and HLSL shaders

* Use glTF assets

Code cleanup
Updated GLSL and HLSL shaders
Removed no-longer used model

* Use glTF assets

Code cleanup
Use RGBA texture instead of different compressed formats
Removed no-longer used assets

* Adnrdoid build file

* Use glTF assets

Code cleanup and refactoring
Updated GLSL and HLSL shaders

* Added vertex count and way of passing additional memory property type flags to glTF loader

* Use glTF assets

Updated GLSL and HLSL shaders
Removed no-longer used assets

* Use glTF assets

Updated GLSL and HLSL shaders

* Remove unfinished sample

* Completely reworked push constants sample

Use glTF assets
Updated GLSL and HLSL shaders
Removed no-longer used assets

* Android CMake build files

* Removed un-used asset

* Explicit buffer binding function

* Use glTF assets

Code cleanup
Updated GLSL and HLSL shaders

* Use glTF assets

Code cleanup

* Use glTF assets

Code cleanup
Removed no-longer used assets

* Use glTF assets

Code cleanup
Updated GLSL and HLSL shaders
Removed no-longer used assets

* Remove no-longer used asset

* Use glTF assets

Code cleanup and refactoring
Performance optimizations
Updated GLSL and HLSL shaders
Removed no-longer used assets

* Use glTF assets

Code cleanup and refactoring
Updated GLSL and HLSL shaders
Removed no-longer used assets

* Use glTF assets

Code cleanup and refactoring
Updated GLSL and HLSL shaders
Removed no-longer used assets

* Use glTF assets

Code cleanup and refactoring
Removed no-longer used assets

* Use glTF assets

Code cleanup and refactoring
Removed no-longer used assets

* Use glTF assets

Code cleanup and refactoring

* Use glTF assets

Code cleanup and refactoring

* Use glTF assets

Code cleanup and refactoring
Removed no-longer used assets

* Pass vertex size and calculate multiplier in shaders instead of hard-coding

With this, changes to the glTF vertex structure won't break the ray tracing samples

* Load tangents (if present)

* Use glTF assets

Code cleanup and heavy refactoring
Reworked debug display code

* Android build

* Normal mapping fixes

Udpated HLSL shaders

* Use glTF assets

Code cleanup and heavy refactoring
Reworked debug display code
Updated GLSL and HLSL shaders

* Code cleanup, comments

* Use glTF assets

Code cleanup and heavy refactoring
Reworked debug display code
Updated GLSL and HLSL shaders

* Added sample count to framebuffer create info

* Removed no-longer used assets

* Android build

Removed no-longer used assets

* Code cleanup and heavy refactoring

Updated GLSL and HLSL shaders
Use tangents stored in GLSL instead of calculating them in the fragment shader

* Renamed textured PBR sample main cpp file

* Use glTF assets

Code cleanup and refactoring
Updated GLSL and HLSL shaders
Removed no-longer used assets

* Use glTF assets

Removed no-longer used assets

* Android build files

* Android build files

* Use glTF assets

Removed no-longer used assets

* Fixed HLSL shaders

* Android build files

* Use glTF assets

Updated GLSL and HLSL shaders
Removed no-longer used assets

* Use glTF assets

Updated GLSL and HLSL shaders
Removed no-longer used assets

* Added flag to disable glTF image loading

Useful for samples that use their own textures or don't use textures at all to speed up loading

* Use glTF assets

Code cleanup
Use Sponza scene instead of Sibenik to better highlight the effect
Updated GLSL and HLSL shaders

* Updated Android build files

* Removed left-over comment

* Use Sponza scene for the SSAO sample

* Removed unused code

* Removed ASSIMP

No longer required as all samples now use the glTF file format

* Added missing vertex shader stage

* Removed old ASSIMP-based model loader

* Added support for loading external glTF images from ktx

Android fixes for loading external buffer files

* Scene setup

* Added missing shader stages

* Removed ASSIMP from build files

* Fixed compiler warning

* Removed ASSIMP from readmes

* Android build files cleanup

* Replaced ktx submodule with only the files required for this repo

The ktx submodule was a tad too big and contained lots of files not required for this repo

* Moved ktx build files into base project

* Use glTF assets

* Use glTF assets

* Removed license files, will be moved to asset pack

* Use RGBA textures

* Use RGBA cubemp texture with face assignment based on original images

Refs #679

* Android build files

* Removed textures

All textures will be moved to the asset pack

* Ignore asset folders

* Removed font

Fonts will be moved to the asset pack

* Link to gltf asset pack

* Updated gitignore

* Android build file
2020-07-28 20:20:38 +02:00

11 KiB
Raw Permalink Blame History

License and Attribution Notices


This file has two names: LICENSE.md and NOTICE.md. The former to tell GiHub users this is the license. The latter to tell creators of derived works that they need to distribute this with or make it available in a display generated by any Derivative Works, except for any parts that do not pertain to the Derivative Work, in accordance with clause 4d of the Apache 2.0 license, i.e. this is the "NOTICE" file.


Default License

With the exception of the files listed explicitly below, the source is made available under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

libKTX is the work of Mark Callow based on work by Georg Kolling and Jacob Ström with contributions borrowed from Troy Hanson and Johannes van Waveren. The source contains code

© 2010 & © 2013 The Khronos Group Inc.
© 2008 and © 2010 HI Corporation
© 2005 Ericsson AB
© 2003-2010, Troy D. Hanson
© 2015-2018 Mark Callow
© 2016 Oculus VR, LLC.

The KTX load tests are the work of Mark Callow with a few small portions borrowed from Sascha Willems' Vulkan examples and use Sam Lantinga's libSDL for portability. The source contains code

© 2013 The Khronos Group Inc.
© 2008 and © 2010 HI Corporation
© 1997-2018 Sam Lantinga
© 2016 Sascha Willems
© 2015-2018 Mark Callow

IMPORTANT: Due to GitHub Markdown limitations license text has been copied into this file from the files named below. In the event of a discrepancy, the licenses in the files shall be deemed correct.

libktx Exceptions

etcdec.cxx

etcdec.cxx is made available under the terms and conditions of the following License Agreement.

Software License Agreement

PLEASE REVIEW THE FOLLOWING TERMS AND CONDITIONS PRIOR TO USING THE ERICSSON TEXTURE COMPRESSION CODEC SOFTWARE (THE "SOFTWARE"). THE USE OF THE SOFTWARE IS SUBJECT TO THE TERMS AND CONDITIONS OF THE FOLLOWING SOFTWARE LICENSE AGREEMENT (THE "SLA"). IF YOU DO NOT ACCEPT SUCH TERMS AND CONDITIONS YOU MAY NOT USE THE SOFTWARE.

Subject to the terms and conditions of the SLA, the licensee of the Software (the "Licensee") hereby, receives a non-exclusive, non-transferable, limited, free-of-charge, perpetual and worldwide license, to copy, use, distribute and modify the Software, but only for the purpose of developing, manufacturing, selling, using and distributing products including the Software in binary form, which products are used for compression and/or decompression according to the Khronos standard specifications OpenGL, OpenGL ES and WebGL. Notwithstanding anything of the above, Licensee may distribute [etcdec.cxx] in source code form provided (i) it is in unmodified form; and (ii) it is included in software owned by Licensee.

If Licensee institutes, or threatens to institute, patent litigation against Ericsson or Ericsson's affiliates for using the Software for developing, having developed, manufacturing, having manufactured, selling, offer for sale, importing, using, leasing, operating, repairing and/or distributing products (i) within the scope of the Khronos framework; or (ii) using software or other intellectual property rights owned by Ericsson or its affiliates and provided under the Khronos framework, Ericsson shall have the right to terminate this SLA with immediate effect. Moreover, if Licensee institutes, or threatens to institute, patent litigation against any other licensee of the Software for using the Software in products within the scope of the Khronos framework, Ericsson shall have the right to terminate this SLA with immediate effect. However, should Licensee institute, or threaten to institute, patent litigation against any other licensee of the Software based on such other licensee's use of any other software together with the Software, then Ericsson shall have no right to terminate this SLA.

This SLA does not transfer to Licensee any ownership to any Ericsson or third party intellectual property rights. All rights not expressly granted by Ericsson under this SLA are hereby expressly reserved. Furthermore, nothing in this SLA shall be construed as a right to use or sell products in a manner which conveys or purports to convey whether explicitly, by principles of implied license, or otherwise, any rights to any third party, under any patent of Ericsson or of Ericsson's affiliates covering or relating to any combination of the Software with any other software or product (not licensed hereunder) where the right applies specifically to the combination and not to the software or product itself.

THE SOFTWARE IS PROVIDED "AS IS". ERICSSON MAKES NO REPRESENTATIONS OF ANY KIND, EXTENDS NO WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS, IMPLIED OR STATUTORY; INCLUDING, BUT NOT LIMITED TO, EXPRESS, IMPLIED OR STATUTORY WARRANTIES OR CONDITIONS OF TITLE, MERCHANTABILITY, SATISFACTORY QUALITY, SUITABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH THE LICENSEE. SHOULD THE SOFTWARE PROVE DEFECTIVE, THE LICENSEE ASSUMES THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. ERICSSON MAKES NO WARRANTY THAT THE MANUFACTURE, SALE, OFFERING FOR SALE, DISTRIBUTION, LEASE, USE OR IMPORTATION UNDER THE SLA WILL BE FREE FROM INFRINGEMENT OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF OTHERS, AND THE VALIDITY OF THE LICENSE AND THE SLA ARE SUBJECT TO LICENSEE'S SOLE RESPONSIBILITY TO MAKE SUCH DETERMINATION AND ACQUIRE SUCH LICENSES AS MAY BE NECESSARY WITH RESPECT TO PATENTS, COPYRIGHT AND OTHER INTELLECTUAL PROPERTY OF THIRD PARTIES.

THE LICENSEE ACKNOWLEDGES AND ACCEPTS THAT THE SOFTWARE (I) IS NOT LICENSED FOR; (II) IS NOT DESIGNED FOR OR INTENDED FOR; AND (III) MAY NOT BE USED FOR; ANY MISSION CRITICAL APPLICATIONS SUCH AS, BUT NOT LIMITED TO OPERATION OF NUCLEAR OR HEALTHCARE COMPUTER SYSTEMS AND/OR NETWORKS, AIRCRAFT OR TRAIN CONTROL AND/OR COMMUNICATION SYSTEMS OR ANY OTHER COMPUTER SYSTEMS AND/OR NETWORKS OR CONTROL AND/OR COMMUNICATION SYSTEMS ALL IN WHICH CASE THE FAILURE OF THE SOFTWARE COULD LEAD TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL, MATERIAL OR ENVIRONMENTAL DAMAGE. LICENSEE'S RIGHTS UNDER THIS LICENSE WILL TERMINATE AUTOMATICALLY AND IMMEDIATELY WITHOUT NOTICE IF LICENSEE FAILS TO COMPLY WITH THIS PARAGRAPH.

IN NO EVENT SHALL ERICSSON BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING BUT NOT LIMITED TO PERSONAL INJURY, ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR IN CONNECTION WITH THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS, BUSINESS INTERUPTIONS, OR ANY OTHER COMMERCIAL DAMAGES OR LOSSES, LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THE LICENSEE OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE) REGARDLESS OF THE THEORY OF LIABILITY (CONTRACT, TORT, OR OTHERWISE), EVEN IF THE LICENSEE OR ANY OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Licensee acknowledges that "ERICSSON ///" is the corporate trademark of Telefonaktiebolaget LM Ericsson and that both "Ericsson" and the figure "///" are important features of the trade names of Telefonaktiebolaget LM Ericsson. Nothing contained in these terms and conditions shall be deemed to grant Licensee any right, title or interest in the word "Ericsson" or the figure "///". No delay or omission by Ericsson to exercise any right or power shall impair any such right or power to be construed to be a waiver thereof. Consent by Ericsson to, or waiver of, a breach by the Licensee shall not constitute consent to, waiver of, or excuse for any other different or subsequent breach.

This SLA shall be governed by the substantive law of Sweden. Any dispute, controversy or claim arising out of or in connection with this SLA, or the breach, termination or invalidity thereof, shall be submitted to the exclusive jurisdiction of the Swedish Courts.

uthash.h

uthash.h is made available under the following revised BSD license.

Copyright © 2003-2010, Troy D. Hanson http://uthash.sourceforge.net All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Load Tests Exceptions

icons/{ios/CommonIcons*,mac,win}/ktx_{app,document}.*

These KTX application and document icons are © & ™ The Khronos Group, Inc. and may not be used without specific prior written permission from The Khronos Group, except that the ktx_app icon may be distributed in a Derived Work as the icon for the glloadtests and vkloadtests applications.

other_include/SDL2/*

These files are part of the SDL2 source distributed by the [SDL project] (http://libsdl.org) under the terms of the [zlib license] (http://www.zlib.net/zlib_license.html).

other_include/glm

OpenGL Mathematics is licensed under the Happy Bunny (Modified MIT) License

testimages/hi_mark{,_sq}.ktx

The HI logo textures are © & ™ HI Corporation and are provided for use only in testing the KTX loader. Any other use requires specific prior written permission from HI. Furthermore the name HI may not be used to endorse or promote products derived from this software without specific prior written permission.

{VulkanMeshLoader,vulkantextoverlay}.hpp, vulkandebug.*

Copyright © 2016 Sascha Willems - www.saschawillems.de

{VulkanMeshLoader,vulkantextoverlay}.hpp and vulkandebug.* are licensed under the MIT license