Skip to content

Commit

Permalink
Merge pull request KhronosGroup#15 from KhronosGroup/main
Browse files Browse the repository at this point in the history
Update to latest master
  • Loading branch information
UX3D-nopper authored Oct 17, 2021
2 parents a8510d2 + f71765f commit 9ab4997
Show file tree
Hide file tree
Showing 33 changed files with 606 additions and 1,488 deletions.
2 changes: 1 addition & 1 deletion .reuse/dep5
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ Files: specification/1.0/figures/* specification/1.0/schema/*
Copyright: 2012-2021 The Khronos Group Inc.
License: LicenseRef-KhronosSpecCopyright

Files: specification/2.0/schema/* specification/2.0/figures/* specification/figures/gltf.png
Files: specification/2.0/schema/* specification/2.0/figures/* specification/figures/*
Copyright: 2012-2021 The Khronos Group Inc.
License: LicenseRef-KhronosSpecCopyright
3 changes: 3 additions & 0 deletions CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ Requests containing fixes for, or additions to:

Please keep contributions focused on solving a single issue or bug.

For contributions to the glTF 2.0 core specification, see:
link:specification/2.0/README.md#contributing[glTF 2.0 Contributions].

== Copyright Notice and License Template

If you are adding a new file, it must be under one of the following
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ SPDX-License-Identifier: CC-BY-4.0
-->

<p align="center">
<img src="specification/figures/gltf.png" />
<img src="specification/figures/glTF_RGB_June16.svg" width="340" height="170" />
</p>

[![Join the Slack group](https://img.shields.io/badge/chat-on%20slack-blue.svg)](https://www.khr.io/slack)
Expand Down
4 changes: 2 additions & 2 deletions extensions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ but may still change before they are complete._

| Extension | Status |
|-----------|--------|
| [KHR_materials_thinfilm](https://github.com/KhronosGroup/glTF/pull/1742) | In development. |
| [KHR_materials_iridescence](https://github.com/KhronosGroup/glTF/pull/2027) | In development. |
| [KHR_materials_translucency](https://github.com/KhronosGroup/glTF/pull/1825) | In development. |

This section tracks the status of Khronos and multi-vendor extensions that are either already in development,
Expand Down Expand Up @@ -133,7 +133,7 @@ Extensions start as a vendor extension, then can become a multi-vendor extension

> **NOTE:** For historical reasons, older extensions may not follow these guidelines. Future extensions should do so.
1. Names MUST begin with an UPPERCASE prefix, followed by an underscore. Prefixes are `KHR` for [Khronos extensions](#khronos-extensions-2), `EXT` for [Multi-vendor extensions](#multi-vendor-extensions), and others may be reserved for [Vendor extensions](#vendor-extensions-2).
1. Names MUST begin with an UPPERCASE prefix, followed by an underscore. Prefixes are `KHR` for [Khronos extensions](#khronos-extensions-1), `EXT` for [Multi-vendor extensions](#multi-vendor-extensions-1), and others may be reserved for [Vendor extensions](#vendor-extensions-2).
2. Names MUST use lowercase snake-case following the prefix, e.g. `KHR_materials_unlit`.
3. Names SHOULD be structured as `<PREFIX>_<scope>_<feature>`, where *scope* is an existing glTF concept (e.g. mesh, texture, image) and *feature* describes the functionality being added within that scope. This structure is recommended, but not required.
4. Scope SHOULD be singular (e.g. mesh, texture), except where this would be inconsistent with an existing Khronos extension (e.g. materials, lights).
Expand Down
2 changes: 1 addition & 1 deletion specification/2.0/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ ADOCOPTS = -d book
ADOCHTMLOPTS = -a stylesheet=khronos.css -a sectanchors
SPECDEPS = $(SPEC).adoc $(GENERATED)

PATCHVERSION = 0
PATCHVERSION = 1
SPECREVISION = 2.0.$(PATCHVERSION)

# Spell out ISO 8601 format as not all date commands support --rfc-3339
Expand Down
65 changes: 55 additions & 10 deletions specification/2.0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,58 @@ Copyright 2014-2021 The Khronos Group Inc.
SPDX-License-Identifier: CC-BY-4.0
-->

The glTF 2.0 Specification formerly hosted in this README.md has been moved
to AsciiDoc markup. Published versions of the Specification are now located
in the [glTF Registry](https://www.khronos.org/registry/glTF). The
underlying AsciiDoc markup is in the `main` branch of the [glTF
Specification Repository](https://www.github.com/KhronosGroup/glTF).

A preview of the rendered output of the specification can be seen by
opening the [`Specification.adoc`](Specification.adoc) file, but note that
this preview does not include the properties reference and JSON schema
reference, and will not render embedded mathematical equations correctly.
<p align="center">
<img src="../figures/glTF_RGB_June16.svg" width="340" height="170" />
</p>

# The glTF 2.0 Specification

The full specification is available in two forms:

- [Specification as HTML](https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html) - for viewing in a browser
- [Specification as PDF](https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.pdf) - for viewing as a document

## Extensions

Features not covered by the core glTF specification may be contributed by way of extensions. See the [glTF Extension Registry](https://github.com/KhronosGroup/glTF/tree/main/extensions) for details.

## Contributing

Although the file structure is finalized for glTF 2.0, error corrections and clarifications are most welcome here. Begin by checking the [list of issues](https://github.com/KhronosGroup/glTF/issues) to see if there has already been a discussion of the topic, and if not, file a new issue to get one started.

After discussing the issue, if corrections are needed to the core glTF 2.0 specification, they may be submitted in the form of GitHub Pull Requests to this repository. The choice of file to edit depends on the section that needs editing:

- **Section 5 (Properties Reference)** - This section is auto-generated using the [JSON Schema files](https://github.com/KhronosGroup/glTF/tree/main/specification/2.0/schema). Corrections to the wording must be made directly in those JSON files. Changes to the JSON structure are not being accepted at this time.

- **Appendix A (JSON Schema Reference)** - This section is likewise auto-generated using the [JSON Schema files](https://github.com/KhronosGroup/glTF/tree/main/specification/2.0/schema).

- **All other sections** - The remainder of the specification is contained in [Specification.adoc](https://github.com/KhronosGroup/glTF/blob/main/specification/2.0/Specification.adoc). General edits may be made here.

## Building with GitHub Actions

Opening a PR here will trigger a GitHub Action. Click on the "Actions" tab of the repository containing the edited branch, making careful note that this is likely to be your own fork of the glTF repository, not the Khronos one. The most recent Action should display the name of your commit or PR.

On that Action's Summary Page, if it was successful, there should be an "artifact" at the bottom called `spec-outputs`. This will be a ZIP file containing the newly built HTML and PDF versions, incorporating the proposed changes.

## Building Locally

Building the specification locally can be useful when proposing changes to the actual tooling used during the build.

The most straightforward way is to install [Docker](https://www.docker.com/) such that the specification can be built inside a preconfigured container. After installing Docker, pull the following image from Docker Hub:

```
docker pull khronosgroup/docker-images:asciidoctor-spec
```

Then, open a terminal inside the new container, and do the following:

1. `git clone ...` this repository, or your fork.
2. `git checkout ...` the branch with your changes.
3. `cd specification/2.0`
4. `make`

This should build `Specification.html` and `Specification.pdf`, containing the HTML and PDF versions of the specification, including any changes from the current git branch.

## Publishing

Once a new version has been built and accepted, the maintainers here will publish it to the [glTF Registry](https://www.khronos.org/registry/glTF) for distribution.
Loading

0 comments on commit 9ab4997

Please sign in to comment.