mirror of
https://github.com/godotengine/godot.git
synced 2024-11-24 05:04:10 +00:00
Cleanup various repository documentation files
- Reformat logo license as a plain text file. - Fix outdated links or references to SFC or Visual Script. - Tweak contents of `CONTRIBUTING.md` to highlight contributor docs more prominently, and make it easier to parse. - Tweak formatting and contents in `thirdparty/README.md` for consistency.
This commit is contained in:
parent
b931a6e5ce
commit
dff6752ac8
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -59,7 +59,7 @@ body:
|
|||||||
- A small Godot project which reproduces the issue, with no unnecessary files included. Be sure to not include the `.godot` folder in the archive (but keep `project.godot`).
|
- A small Godot project which reproduces the issue, with no unnecessary files included. Be sure to not include the `.godot` folder in the archive (but keep `project.godot`).
|
||||||
- Required, unless the reproduction steps are trivial and don't require any project files to be followed. In this case, write "N/A" in the field.
|
- Required, unless the reproduction steps are trivial and don't require any project files to be followed. In this case, write "N/A" in the field.
|
||||||
- Drag and drop a ZIP archive to upload it. **Do not select another field until the project is done uploading.**
|
- Drag and drop a ZIP archive to upload it. **Do not select another field until the project is done uploading.**
|
||||||
- **Note for C# users:** If your issue is *not* Mono-specific, please upload a minimal reproduction project written in GDScript or VisualScript. This will make it easier for contributors to reproduce the issue locally as not everyone has a Mono setup available.
|
- **Note for C# users:** If your issue is *not* C#-specific, please upload a minimal reproduction project written in GDScript. This will make it easier for contributors to reproduce the issue locally as not everyone has a .NET setup available.
|
||||||
- **If you've been asked by a maintainer to upload a minimal reproduction project, you *must* do so within 7 days.** Otherwise, your bug report will be closed as it'll be considered too difficult to diagnose.
|
- **If you've been asked by a maintainer to upload a minimal reproduction project, you *must* do so within 7 days.** Otherwise, your bug report will be closed as it'll be considered too difficult to diagnose.
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
206
CONTRIBUTING.md
206
CONTRIBUTING.md
@ -1,11 +1,17 @@
|
|||||||
# How to contribute efficiently
|
# Contributors guidelines
|
||||||
|
|
||||||
|
This document summarizes the most important points for people interested in
|
||||||
|
contributing to Godot, especially via bug reports or pull requests.
|
||||||
|
|
||||||
|
The Godot documentation has a dedicated [Contributing section](https://docs.godotengine.org/en/latest/contributing/ways_to_contribute.html)
|
||||||
|
which details these points and more, and is a recommended read.
|
||||||
|
|
||||||
## Table of contents
|
## Table of contents
|
||||||
|
|
||||||
- [Reporting bugs](#reporting-bugs)
|
- [Reporting bugs](#reporting-bugs)
|
||||||
- [Proposing features or improvements](#proposing-features-or-improvements)
|
- [Proposing features or improvements](#proposing-features-or-improvements)
|
||||||
- [Contributing pull requests](#contributing-pull-requests)
|
- [Contributing pull requests](#contributing-pull-requests)
|
||||||
- [Contributing to Godot's translation](#contributing-to-godots-translation)
|
- [Contributing to Godot translations](#contributing-to-godot-translations)
|
||||||
- [Communicating with developers](#communicating-with-developers)
|
- [Communicating with developers](#communicating-with-developers)
|
||||||
|
|
||||||
## Reporting bugs
|
## Reporting bugs
|
||||||
@ -13,16 +19,26 @@
|
|||||||
Report bugs [here](https://github.com/godotengine/godot/issues/new?assignees=&labels=&template=bug_report.yml).
|
Report bugs [here](https://github.com/godotengine/godot/issues/new?assignees=&labels=&template=bug_report.yml).
|
||||||
Please follow the instructions in the template when you do.
|
Please follow the instructions in the template when you do.
|
||||||
|
|
||||||
|
Notably, please include a Minimal Reproduction Project (MRP), which is a small
|
||||||
|
Godot project which reproduces the issue, with no unnecessary files included.
|
||||||
|
Be sure to not include the `.godot` folder in the archive to save space.
|
||||||
|
|
||||||
|
Make sure that the bug you are experiencing is reproducible in the latest Godot
|
||||||
|
releases. You can find an overview of all Godot releases [on the website](https://godotengine.org/download/archive/)
|
||||||
|
to confirm whether your current version is the latest one. It's worth testing
|
||||||
|
against both the latest stable release and the latest dev snapshot for the next
|
||||||
|
Godot release.
|
||||||
|
|
||||||
|
If you run into a bug which wasn't present in an earlier Godot version (what we
|
||||||
|
call a _regression_), please mention it and clarify which versions you tested
|
||||||
|
(both the one(s) working and the one(s) exhibiting the bug).
|
||||||
|
|
||||||
## Proposing features or improvements
|
## Proposing features or improvements
|
||||||
|
|
||||||
**Since August 2019, the main issue tracker no longer accepts feature proposals.**
|
**The main issue tracker is for bug reports and does not accept feature proposals.**
|
||||||
Instead, head to the [Godot Proposals repository](https://github.com/godotengine/godot-proposals)
|
|
||||||
and follow the instructions in the README file. High-quality feature proposals
|
|
||||||
are more likely to be well-received by the maintainers and community, so do
|
|
||||||
your best :)
|
|
||||||
|
|
||||||
See [this article](https://godotengine.org/article/introducing-godot-proposals-repository)
|
Instead, head to the [Godot Proposals repository](https://github.com/godotengine/godot-proposals)
|
||||||
for detailed rationale on this change.
|
and follow the instructions in the README file and issue template.
|
||||||
|
|
||||||
## Contributing pull requests
|
## Contributing pull requests
|
||||||
|
|
||||||
@ -39,10 +55,9 @@ Similar rules can be applied when contributing bug fixes - it's always best to
|
|||||||
discuss the implementation in the bug report first if you are not 100% about
|
discuss the implementation in the bug report first if you are not 100% about
|
||||||
what would be the best fix.
|
what would be the best fix.
|
||||||
|
|
||||||
[This blog post](https://godotengine.org/article/will-your-contribution-be-merged-heres-how-tell)
|
You can refer to the [Pull request review process](https://docs.godotengine.org/en/latest/contributing/workflow/pr_review_guidelines.html)
|
||||||
outlines the process used by core developers when assessing PRs. We strongly
|
for insights into the intended lifecycle of pull requests. This should help you
|
||||||
recommend that you have a look at it to know what's important to take into
|
ensure that your pull request fulfills the requirements.
|
||||||
account for a PR to be considered for merging.
|
|
||||||
|
|
||||||
In addition to the following tips, also take a look at the
|
In addition to the following tips, also take a look at the
|
||||||
[Engine development guide](https://docs.godotengine.org/en/latest/contributing/development/index.html)
|
[Engine development guide](https://docs.godotengine.org/en/latest/contributing/development/index.html)
|
||||||
@ -50,7 +65,79 @@ for an introduction to developing on Godot.
|
|||||||
|
|
||||||
The [Contributing docs](https://docs.godotengine.org/en/latest/contributing/ways_to_contribute.html)
|
The [Contributing docs](https://docs.godotengine.org/en/latest/contributing/ways_to_contribute.html)
|
||||||
also have important information on the [PR workflow](https://docs.godotengine.org/en/latest/contributing/workflow/pr_workflow.html)
|
also have important information on the [PR workflow](https://docs.godotengine.org/en/latest/contributing/workflow/pr_workflow.html)
|
||||||
and the [code style](https://docs.godotengine.org/en/latest/contributing/development/code_style_guidelines.html) we use.
|
(with a helpful guide for Git usage), and our [Code style guidelines](https://docs.godotengine.org/en/latest/contributing/development/code_style_guidelines.html)
|
||||||
|
which all contributions need to follow.
|
||||||
|
|
||||||
|
### Be mindful of your commits
|
||||||
|
|
||||||
|
Try to make simple PRs that handle one specific topic. Just like for reporting
|
||||||
|
issues, it's better to open 3 different PRs that each address a different issue
|
||||||
|
than one big PR with three commits. This makes it easier to review, approve, and
|
||||||
|
merge the changes independently.
|
||||||
|
|
||||||
|
When updating your fork with upstream changes, please use ``git pull --rebase``
|
||||||
|
to avoid creating "merge commits". Those commits unnecessarily pollute the git
|
||||||
|
history when coming from PRs.
|
||||||
|
|
||||||
|
Also try to make commits that bring the engine from one stable state to another
|
||||||
|
stable state, i.e. if your first commit has a bug that you fixed in the second
|
||||||
|
commit, try to merge them together before making your pull request. This
|
||||||
|
includes fixing build issues or typos, adding documentation, etc.
|
||||||
|
|
||||||
|
See our [PR workflow](https://docs.godotengine.org/en/latest/contributing/workflow/pr_workflow.html)
|
||||||
|
documentation for tips on using Git, amending commits and rebasing branches.
|
||||||
|
|
||||||
|
This [Git style guide](https://github.com/agis-/git-style-guide) also has some
|
||||||
|
good practices to have in mind.
|
||||||
|
|
||||||
|
### Format your commit messages with readability in mind
|
||||||
|
|
||||||
|
The way you format your commit messages is quite important to ensure that the
|
||||||
|
commit history and changelog will be easy to read and understand. A Git commit
|
||||||
|
message is formatted as a short title (first line) and an extended description
|
||||||
|
(everything after the first line and an empty separation line).
|
||||||
|
|
||||||
|
The short title is the most important part, as it is what will appear in the
|
||||||
|
changelog or in the GitHub interface unless you click the "expand" button.
|
||||||
|
Try to keep that first line under 72 characters, but you can go slightly above
|
||||||
|
if necessary to keep the sentence clear.
|
||||||
|
|
||||||
|
It should be written in English, starting with a capital letter, and usually
|
||||||
|
with a verb in imperative form. A typical bugfix would start with "Fix", while
|
||||||
|
the addition of a new feature would start with "Add". A prefix can be added to
|
||||||
|
specify the engine area affected by the commit. Some examples:
|
||||||
|
|
||||||
|
- Add C# iOS support
|
||||||
|
- Show doc tooltips when hovering properties in the theme editor
|
||||||
|
- Fix GLES3 instanced rendering color and custom data defaults
|
||||||
|
- Core: Fix `Object::has_method()` for script static methods
|
||||||
|
|
||||||
|
If your commit fixes a reported issue, please include it in the _description_
|
||||||
|
of the commit (not in the title) using one of the
|
||||||
|
[GitHub closing keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
|
||||||
|
such as "Fixes #1234". This will cause the issue to be closed automatically if
|
||||||
|
the PR is merged.
|
||||||
|
|
||||||
|
Here's an example of a well-formatted commit message (note how the extended
|
||||||
|
description is also manually wrapped at 80 chars for readability):
|
||||||
|
|
||||||
|
```text
|
||||||
|
Prevent French fries carbonization by fixing heat regulation
|
||||||
|
|
||||||
|
When using the French fries frying module, Godot would not regulate the heat
|
||||||
|
and thus bring the oil bath to supercritical liquid conditions, thus causing
|
||||||
|
unwanted side effects in the physics engine.
|
||||||
|
|
||||||
|
By fixing the regulation system via an added binding to the internal feature,
|
||||||
|
this commit now ensures that Godot will not go past the ebullition temperature
|
||||||
|
of cooking oil under normal atmospheric conditions.
|
||||||
|
|
||||||
|
Fixes #1340.
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** When using the GitHub online editor or its drag-and-drop
|
||||||
|
feature, *please* edit the commit title to something meaningful. Commits named
|
||||||
|
"Update my_file.cpp" won't be accepted.
|
||||||
|
|
||||||
### Document your changes
|
### Document your changes
|
||||||
|
|
||||||
@ -59,14 +146,14 @@ scripting APIs, you **must** update the class reference to document those.
|
|||||||
This is to ensure the documentation coverage doesn't decrease as contributions
|
This is to ensure the documentation coverage doesn't decrease as contributions
|
||||||
are merged.
|
are merged.
|
||||||
|
|
||||||
[Update documentation XML files](https://docs.godotengine.org/en/latest/contributing/documentation/updating_the_class_reference.html#updating-class-reference-when-working-on-the-engine)
|
[Update documentation XML files](https://docs.godotengine.org/en/latest/contributing/documentation/updating_the_class_reference.html)
|
||||||
using your compiled binary, then fill in the descriptions.
|
using your compiled binary, then fill in the descriptions.
|
||||||
Follow the style guide described in the
|
Follow the style guide described in the
|
||||||
[Writing guidelines](https://docs.godotengine.org/en/latest/contributing/documentation/docs_writing_guidelines.html).
|
[Documentation writing guidelines](https://docs.godotengine.org/en/latest/contributing/documentation/docs_writing_guidelines.html).
|
||||||
|
|
||||||
If your pull request modifies parts of the code in a non-obvious way, make sure
|
If your pull request modifies parts of the code in a non-obvious way, make sure
|
||||||
to add comments in the code as well. This helps other people understand the
|
to add comments in the code as well. This helps other people understand the
|
||||||
change without having to look at `git blame`.
|
change without having to dive into the Git history.
|
||||||
|
|
||||||
### Write unit tests
|
### Write unit tests
|
||||||
|
|
||||||
@ -91,74 +178,13 @@ existing tests as well.
|
|||||||
See [Unit testing](https://docs.godotengine.org/en/latest/contributing/development/core_and_modules/unit_testing.html)
|
See [Unit testing](https://docs.godotengine.org/en/latest/contributing/development/core_and_modules/unit_testing.html)
|
||||||
for information on writing tests in Godot's C++ codebase.
|
for information on writing tests in Godot's C++ codebase.
|
||||||
|
|
||||||
### Be nice to the Git history
|
## Contributing to Godot translations
|
||||||
|
|
||||||
Try to make simple PRs that handle one specific topic. Just like for reporting
|
You can contribute to Godot translations on [Hosted Weblate](https://hosted.weblate.org/projects/godot-engine/),
|
||||||
issues, it's better to open 3 different PRs that each address a different issue
|
an open source and web-based translation platform.
|
||||||
than one big PR with three commits.
|
|
||||||
|
|
||||||
When updating your fork with upstream changes, please use ``git pull --rebase``
|
Please refer to our [editor and documentation localization guidelines](https://docs.godotengine.org/en/latest/contributing/documentation/editor_and_docs_localization.html)
|
||||||
to avoid creating "merge commits". Those commits unnecessarily pollute the git
|
for an overview of the translation resources and what they correspond to.
|
||||||
history when coming from PRs.
|
|
||||||
|
|
||||||
Also try to make commits that bring the engine from one stable state to another
|
|
||||||
stable state, i.e. if your first commit has a bug that you fixed in the second
|
|
||||||
commit, try to merge them together before making your pull request (see ``git
|
|
||||||
rebase -i`` and relevant help about rebasing or amending commits on the
|
|
||||||
Internet).
|
|
||||||
|
|
||||||
This [Git style guide](https://github.com/agis-/git-style-guide) has some
|
|
||||||
good practices to have in mind.
|
|
||||||
|
|
||||||
See our [PR workflow](https://docs.godotengine.org/en/latest/contributing/workflow/pr_workflow.html)
|
|
||||||
documentation for tips on using Git, amending commits and rebasing branches.
|
|
||||||
|
|
||||||
### Format your commit messages with readability in mind
|
|
||||||
|
|
||||||
The way you format your commit messages is quite important to ensure that the
|
|
||||||
commit history and changelog will be easy to read and understand. A Git commit
|
|
||||||
message is formatted as a short title (first line) and an extended description
|
|
||||||
(everything after the first line and an empty separation line).
|
|
||||||
|
|
||||||
The short title is the most important part, as it is what will appear in the
|
|
||||||
`shortlog` changelog (one line per commit, so no description shown) or in the
|
|
||||||
GitHub interface unless you click the "expand" button. As the name says, try to
|
|
||||||
keep that first line under 72 characters. It should describe what the commit
|
|
||||||
does globally, while details would go in the description. Typically, if you
|
|
||||||
can't keep the title short because you have too much stuff to mention, it means
|
|
||||||
you should probably split your changes in several commits :)
|
|
||||||
|
|
||||||
Here's an example of a well-formatted commit message (note how the extended
|
|
||||||
description is also manually wrapped at 80 chars for readability):
|
|
||||||
|
|
||||||
```text
|
|
||||||
Prevent French fries carbonization by fixing heat regulation
|
|
||||||
|
|
||||||
When using the French fries frying module, Godot would not regulate the heat
|
|
||||||
and thus bring the oil bath to supercritical liquid conditions, thus causing
|
|
||||||
unwanted side effects in the physics engine.
|
|
||||||
|
|
||||||
By fixing the regulation system via an added binding to the internal feature,
|
|
||||||
this commit now ensures that Godot will not go past the ebullition temperature
|
|
||||||
of cooking oil under normal atmospheric conditions.
|
|
||||||
|
|
||||||
Fixes #1789, long live the Realm!
|
|
||||||
```
|
|
||||||
|
|
||||||
**Note:** When using the GitHub online editor or its drag-and-drop
|
|
||||||
feature, *please* edit the commit title to something meaningful. Commits named
|
|
||||||
"Update my_file.cpp" won't be accepted.
|
|
||||||
|
|
||||||
## Contributing to Godot's translation
|
|
||||||
|
|
||||||
You can contribute to Godot's translation from the [Hosted
|
|
||||||
Weblate](https://hosted.weblate.org/projects/godot-engine/godot), an open
|
|
||||||
source and web-based translation platform. Please refer to the [translation
|
|
||||||
readme](editor/translations/README.md) for more information.
|
|
||||||
|
|
||||||
You can also help translate [Godot's
|
|
||||||
documentation](https://hosted.weblate.org/projects/godot-engine/godot-docs/)
|
|
||||||
on Weblate.
|
|
||||||
|
|
||||||
## Communicating with developers
|
## Communicating with developers
|
||||||
|
|
||||||
@ -171,15 +197,13 @@ or a bug you want to fix), the following channels can be used:
|
|||||||
|
|
||||||
- [Godot Contributors Chat](https://chat.godotengine.org): You will
|
- [Godot Contributors Chat](https://chat.godotengine.org): You will
|
||||||
find most core developers there, so it's the go-to platform for direct chat
|
find most core developers there, so it's the go-to platform for direct chat
|
||||||
about Godot Engine development. Feel free to start discussing something there
|
about Godot Engine development. Browse the [Directory](https://chat.godotengine.org/directory/channels)
|
||||||
to get some early feedback before writing up a detailed proposal in a GitHub
|
for an overview of public channels focusing on various engine areas which you
|
||||||
issue.
|
might be interested in.
|
||||||
- [Bug tracker](https://github.com/godotengine/godot/issues): If there is an
|
- [Bug tracker](https://github.com/godotengine/godot/issues): If there is an
|
||||||
existing issue about a topic you want to discuss, just add a comment to it -
|
existing issue about a topic you want to discuss, you can participate directly.
|
||||||
many developers watch the repository and will get a notification. You can
|
If not, you can open a new issue. Please mind the guidelines outlined above
|
||||||
also create a new issue - please keep in mind to create issues only to
|
for bug reporting.
|
||||||
discuss quite specific points about the development, and not general user
|
|
||||||
feedback or support requests.
|
|
||||||
- [Feature proposals](https://github.com/godotengine/godot-proposals/issues):
|
- [Feature proposals](https://github.com/godotengine/godot-proposals/issues):
|
||||||
To propose a new feature, we have a dedicated issue tracker for that. Don't
|
To propose a new feature, we have a dedicated issue tracker for that. Don't
|
||||||
hesitate to start by talking about your idea on the Godot Contributors Chat
|
hesitate to start by talking about your idea on the Godot Contributors Chat
|
||||||
|
@ -383,7 +383,7 @@ License: Expat
|
|||||||
Files: ./thirdparty/noise/FastNoiseLite.h
|
Files: ./thirdparty/noise/FastNoiseLite.h
|
||||||
Comment: FastNoise Lite
|
Comment: FastNoise Lite
|
||||||
Copyright: 2020, Jordan Peck and contributors
|
Copyright: 2020, Jordan Peck and contributors
|
||||||
License: MIT
|
License: Expat
|
||||||
|
|
||||||
Files: ./thirdparty/misc/pcg.cpp
|
Files: ./thirdparty/misc/pcg.cpp
|
||||||
./thirdparty/misc/pcg.h
|
./thirdparty/misc/pcg.h
|
||||||
@ -428,7 +428,7 @@ License: BSD-2-clause
|
|||||||
Files: ./thirdparty/msdfgen/
|
Files: ./thirdparty/msdfgen/
|
||||||
Comment: Multi-channel signed distance field generator
|
Comment: Multi-channel signed distance field generator
|
||||||
Copyright: 2016-2022, Viktor Chlumsky
|
Copyright: 2016-2022, Viktor Chlumsky
|
||||||
License: MIT
|
License: Expat
|
||||||
|
|
||||||
Files: ./thirdparty/nvapi/nvapi_minimal.h
|
Files: ./thirdparty/nvapi/nvapi_minimal.h
|
||||||
Comment: Stripped down version of "nvapi.h" from the NVIDIA NVAPI SDK
|
Comment: Stripped down version of "nvapi.h" from the NVIDIA NVAPI SDK
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
Godot Engine Logo
|
|
||||||
Copyright (c) 2017 Andrea Calabró
|
|
||||||
|
|
||||||
This work is licensed under a Creative Commons Attribution 4.0 International
|
|
||||||
License (CC-BY-4.0 International) <https://creativecommons.org/licenses/by/4.0/>.
|
|
5
LOGO_LICENSE.txt
Normal file
5
LOGO_LICENSE.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Godot Engine Logo
|
||||||
|
Copyright (c) 2017 Andrea Calabró
|
||||||
|
|
||||||
|
This work is licensed under the Creative Commons Attribution 4.0 International
|
||||||
|
license (CC BY 4.0 International): https://creativecommons.org/licenses/by/4.0/
|
20
README.md
20
README.md
@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
**[Godot Engine](https://godotengine.org) is a feature-packed, cross-platform
|
**[Godot Engine](https://godotengine.org) is a feature-packed, cross-platform
|
||||||
game engine to create 2D and 3D games from a unified interface.** It provides a
|
game engine to create 2D and 3D games from a unified interface.** It provides a
|
||||||
comprehensive set of [common tools](https://godotengine.org/features), so that users can focus on making games
|
comprehensive set of [common tools](https://godotengine.org/features), so that
|
||||||
without having to reinvent the wheel. Games can be exported with one click to a
|
users can focus on making games without having to reinvent the wheel. Games can
|
||||||
number of platforms, including the major desktop platforms (Linux, macOS,
|
be exported with one click to a number of platforms, including the major desktop
|
||||||
Windows), mobile platforms (Android, iOS), as well as Web-based platforms
|
platforms (Linux, macOS, Windows), mobile platforms (Android, iOS), as well as
|
||||||
and [consoles](https://docs.godotengine.org/en/latest/tutorials/platform/consoles.html).
|
Web-based platforms and [consoles](https://docs.godotengine.org/en/latest/tutorials/platform/consoles.html).
|
||||||
|
|
||||||
## Free, open source and community-driven
|
## Free, open source and community-driven
|
||||||
|
|
||||||
@ -22,13 +22,14 @@ Godot is completely free and open source under the very permissive [MIT license]
|
|||||||
No strings attached, no royalties, nothing. The users' games are theirs, down
|
No strings attached, no royalties, nothing. The users' games are theirs, down
|
||||||
to the last line of engine code. Godot's development is fully independent and
|
to the last line of engine code. Godot's development is fully independent and
|
||||||
community-driven, empowering users to help shape their engine to match their
|
community-driven, empowering users to help shape their engine to match their
|
||||||
expectations. It is supported by the [Software Freedom Conservancy](https://sfconservancy.org/)
|
expectations. It is supported by the [Godot Foundation](https://godot.foundation/)
|
||||||
not-for-profit.
|
not-for-profit.
|
||||||
|
|
||||||
Before being open sourced in [February 2014](https://github.com/godotengine/godot/commit/0b806ee0fc9097fa7bda7ac0109191c9c5e0a1ac),
|
Before being open sourced in [February 2014](https://github.com/godotengine/godot/commit/0b806ee0fc9097fa7bda7ac0109191c9c5e0a1ac),
|
||||||
Godot had been developed by [Juan Linietsky](https://github.com/reduz) and
|
Godot had been developed by [Juan Linietsky](https://github.com/reduz) and
|
||||||
[Ariel Manzur](https://github.com/punto-) (both still maintaining the project) for several
|
[Ariel Manzur](https://github.com/punto-) (both still maintaining the project)
|
||||||
years as an in-house engine, used to publish several work-for-hire titles.
|
for several years as an in-house engine, used to publish several work-for-hire
|
||||||
|
titles.
|
||||||
|
|
||||||
![Screenshot of a 3D scene in the Godot Engine editor](https://raw.githubusercontent.com/godotengine/godot-design/master/screenshots/editor_tps_demo_1920x1080.jpg)
|
![Screenshot of a 3D scene in the Godot Engine editor](https://raw.githubusercontent.com/godotengine/godot-design/master/screenshots/editor_tps_demo_1920x1080.jpg)
|
||||||
|
|
||||||
@ -37,7 +38,7 @@ years as an in-house engine, used to publish several work-for-hire titles.
|
|||||||
### Binary downloads
|
### Binary downloads
|
||||||
|
|
||||||
Official binaries for the Godot editor and the export templates can be found
|
Official binaries for the Godot editor and the export templates can be found
|
||||||
[on the homepage](https://godotengine.org/download).
|
[on the Godot website](https://godotengine.org/download).
|
||||||
|
|
||||||
### Compiling from source
|
### Compiling from source
|
||||||
|
|
||||||
@ -53,6 +54,7 @@ The best way to get in touch with the core engine developers is to join the
|
|||||||
[Godot Contributors Chat](https://chat.godotengine.org).
|
[Godot Contributors Chat](https://chat.godotengine.org).
|
||||||
|
|
||||||
To get started contributing to the project, see the [contributing guide](CONTRIBUTING.md).
|
To get started contributing to the project, see the [contributing guide](CONTRIBUTING.md).
|
||||||
|
This document also includes guidelines for reporting bugs.
|
||||||
|
|
||||||
## Documentation and demos
|
## Documentation and demos
|
||||||
|
|
||||||
|
198
thirdparty/README.md
vendored
198
thirdparty/README.md
vendored
@ -94,8 +94,8 @@ Files extracted from upstream source:
|
|||||||
## clipper2
|
## clipper2
|
||||||
|
|
||||||
- Upstream: https://github.com/AngusJohnson/Clipper2
|
- Upstream: https://github.com/AngusJohnson/Clipper2
|
||||||
- Version: 1.2.2 (756c5079aacab5837e812a143c59dc48a09f22e7, 2023)
|
- Version: 1.2.2 (756c5079aacab5837e812a143c59dc48a09f22e7, 2023)
|
||||||
- License: Boost Software License 1.0
|
- License: BSL 1.0
|
||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
@ -111,7 +111,8 @@ Files extracted from upstream source:
|
|||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- all .cpp, .h, and .txt files except the folders MakeTables and etc2packer.
|
- All `.cpp` and `.h` files except the folders `MakeTables` and `etc2packer`
|
||||||
|
- `LICENSE.txt`
|
||||||
|
|
||||||
Changes related to BC6H packing and unpacking made upstream in
|
Changes related to BC6H packing and unpacking made upstream in
|
||||||
https://github.com/elasota/cvtt/commit/2e4b6b2747aec11f4cc6dd09ef43fa8ce769f6e2
|
https://github.com/elasota/cvtt/commit/2e4b6b2747aec11f4cc6dd09ef43fa8ce769f6e2
|
||||||
@ -139,7 +140,7 @@ Files extracted from upstream source:
|
|||||||
|
|
||||||
Files extracted from upstream:
|
Files extracted from upstream:
|
||||||
|
|
||||||
- All cpp files listed in `modules/raycast/godot_update_embree.py`
|
- All `.cpp` files listed in `modules/raycast/godot_update_embree.py`
|
||||||
- All header files in the directories listed in `modules/raycast/godot_update_embree.py`
|
- All header files in the directories listed in `modules/raycast/godot_update_embree.py`
|
||||||
|
|
||||||
The `modules/raycast/godot_update_embree.py` script can be used to pull the
|
The `modules/raycast/godot_update_embree.py` script can be used to pull the
|
||||||
@ -153,26 +154,26 @@ commits.
|
|||||||
|
|
||||||
## enet
|
## enet
|
||||||
|
|
||||||
- Upstream: http://enet.bespin.org
|
- Upstream: https://github.com/lsalzman/enet
|
||||||
- Version: git (ea4607a90dbfbcf4da2669ea998585253d8e70b1, 2023)
|
- Version: git (ea4607a90dbfbcf4da2669ea998585253d8e70b1, 2023)
|
||||||
- License: MIT
|
- License: MIT
|
||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- all .c files in the main directory (except unix.c win32.c)
|
- All `.c` files in the main directory (except `unix.c` and `win32.c`)
|
||||||
- the include/enet/ folder as enet/ (except unix.h win32.h)
|
- The `include/enet/` folder as `enet/` (except `unix.h` and `win32.h`)
|
||||||
- LICENSE file
|
- `LICENSE` file
|
||||||
|
|
||||||
Important: enet.h, host.c, protocol.c have been slightly modified
|
Important: `enet.h`, `host.c`, `protocol.c` have been slightly modified
|
||||||
to be usable by Godot's socket implementation and allow IPv6 and DTLS.
|
to be usable by Godot's socket implementation and allow IPv6 and DTLS.
|
||||||
Apply the patches in the `patches/` folder when syncing on newer upstream
|
Apply the patches in the `patches/` folder when syncing on newer upstream
|
||||||
commits.
|
commits.
|
||||||
|
|
||||||
Three files (godot.cpp, enet/godot.h, enet/godot_ext.h) have been added to provide
|
Three files (`godot.cpp`, `enet/godot.h`, `enet/godot_ext.h`) have been added to
|
||||||
enet socket implementation using Godot classes.
|
provide ENet socket implementation using Godot classes.
|
||||||
|
|
||||||
It is still possible to build against a system wide ENet but doing so
|
It is still possible to build against a system wide ENet but doing so will limit
|
||||||
will limit its functionality to IPv4 only.
|
its functionality to IPv4 only.
|
||||||
|
|
||||||
|
|
||||||
## etcpak
|
## etcpak
|
||||||
@ -253,8 +254,12 @@ Files extracted from upstream source:
|
|||||||
* Upstream: https://fonts.google.com/specimen/Open+Sans
|
* Upstream: https://fonts.google.com/specimen/Open+Sans
|
||||||
* Version: 1.10 (downloaded from Google Fonts in February 2021)
|
* Version: 1.10 (downloaded from Google Fonts in February 2021)
|
||||||
* License: Apache 2.0
|
* License: Apache 2.0
|
||||||
- All fonts are converted from the unhinted `.ttf` sources using `https://github.com/google/woff2` tool.
|
|
||||||
- Comment: Use UI font variant if available, because it has tight vertical metrics and good for UI.
|
All fonts are converted from the unhinted `.ttf` sources using the
|
||||||
|
`https://github.com/google/woff2` tool.
|
||||||
|
|
||||||
|
Use UI font variant if available, because it has tight vertical metrics and good
|
||||||
|
for UI.
|
||||||
|
|
||||||
|
|
||||||
## freetype
|
## freetype
|
||||||
@ -315,7 +320,7 @@ Files extracted from upstream source:
|
|||||||
- Run `cmake . && make` and copy generated `include/glslang/build_info.h`
|
- Run `cmake . && make` and copy generated `include/glslang/build_info.h`
|
||||||
to `glslang/build_info.h`
|
to `glslang/build_info.h`
|
||||||
- `LICENSE.txt`
|
- `LICENSE.txt`
|
||||||
- Unnecessary files like `CMakeLists.txt`, `*.m4` and `updateGrammar` removed.
|
- Unnecessary files like `CMakeLists.txt`, `*.m4` and `updateGrammar` removed
|
||||||
|
|
||||||
|
|
||||||
## graphite
|
## graphite
|
||||||
@ -326,8 +331,8 @@ Files extracted from upstream source:
|
|||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- the `include` folder
|
- The `include` folder
|
||||||
- the `src` folder (minus `CMakeLists.txt` and `files.mk`)
|
- The `src` folder (minus `CMakeLists.txt` and `files.mk`)
|
||||||
- `COPYING`
|
- `COPYING`
|
||||||
|
|
||||||
|
|
||||||
@ -340,9 +345,9 @@ Files extracted from upstream source:
|
|||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- `AUTHORS`, `COPYING`, `THANKS`
|
- `AUTHORS`, `COPYING`, `THANKS`
|
||||||
- from the `src` folder, recursively
|
- From the `src` folder, recursively:
|
||||||
- all the `*.c`, `*.cc`, `*.h`, `*.hh` files
|
- All the `.c`, `.cc`, `.h`, `.hh` files
|
||||||
- _except_ `main.cc`, `harfbuzz*.cc`, `failing-alloc.c`, `test*.cc`, `hb-wasm*.*`
|
- Except `main.cc`, `harfbuzz*.cc`, `failing-alloc.c`, `test*.cc`, `hb-wasm*.*`
|
||||||
|
|
||||||
|
|
||||||
## icu4c
|
## icu4c
|
||||||
@ -353,22 +358,24 @@ Files extracted from upstream source:
|
|||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- the `common` folder
|
- The `common` folder
|
||||||
- `scriptset.*`, `ucln_in.*`, `uspoof.cpp"` and `uspoof_impl.cpp` from the `i18n` folder
|
- `scriptset.*`, `ucln_in.*`, `uspoof.cpp"` and `uspoof_impl.cpp` from the `i18n` folder
|
||||||
- `uspoof.h` from the `i18n/unicode` folder
|
- `uspoof.h` from the `i18n/unicode` folder
|
||||||
- `LICENSE`
|
- `LICENSE`
|
||||||
|
|
||||||
Files generated from upstream source:
|
Files generated from upstream source:
|
||||||
|
|
||||||
- the `icudt73l.dat` built with the provided `godot_data.json` config file (see
|
- The `icudt73l.dat` built with the provided `godot_data.json` config file (see
|
||||||
https://github.com/unicode-org/icu/blob/master/docs/userguide/icu_data/buildtool.md
|
https://github.com/unicode-org/icu/blob/master/docs/userguide/icu_data/buildtool.md
|
||||||
for instructions).
|
for instructions).
|
||||||
|
|
||||||
- Step 1: Download and extract both `icu4c-{version}-src.tgz` and `icu4c-{version}-data.zip` (replace `data` subfolder from the main source archive).
|
1. Download and extract both `icu4c-{version}-src.tgz` and `icu4c-{version}-data.zip`
|
||||||
- Step 2: Build ICU with default options - `./runConfigureICU {PLATFORM} && make`.
|
(replace `data` subfolder from the main source archive)
|
||||||
- Step 3: Reconfigure ICU with custom data config - `ICU_DATA_FILTER_FILE={GODOT_SOURCE}/thirdparty/icu4c/godot_data.json ./runConfigureICU {PLATFORM} --with-data-packaging=common`.
|
2. Build ICU with default options: `./runConfigureICU {PLATFORM} && make`
|
||||||
- Step 4: Delete `data/out` folder and rebuild data - `cd data && rm -rf ./out && make`.
|
3. Reconfigure ICU with custom data config:
|
||||||
- Step 5: Copy `source/data/out/icudt73l.dat` to the `{GODOT_SOURCE}/thirdparty/icu4c/icudt73l.dat`.
|
`ICU_DATA_FILTER_FILE={GODOT_SOURCE}/thirdparty/icu4c/godot_data.json ./runConfigureICU {PLATFORM} --with-data-packaging=common`
|
||||||
|
4. Delete `data/out` folder and rebuild data: `cd data && rm -rf ./out && make`
|
||||||
|
5. Copy `source/data/out/icudt73l.dat` to the `{GODOT_SOURCE}/thirdparty/icu4c/icudt73l.dat`
|
||||||
|
|
||||||
|
|
||||||
## jpeg-compressor
|
## jpeg-compressor
|
||||||
@ -422,8 +429,8 @@ Files extracted from upstream source:
|
|||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- all .c and .h files of the main directory, except from
|
- All `.c` and `.h` files of the main directory, except from `example.c` and
|
||||||
`example.c` and `pngtest.c`
|
`pngtest.c`
|
||||||
- `arm/`, `intel/` and `powerpc/` folders
|
- `arm/`, `intel/` and `powerpc/` folders
|
||||||
- `scripts/pnglibconf.h.prebuilt` as `pnglibconf.h`
|
- `scripts/pnglibconf.h.prebuilt` as `pnglibconf.h`
|
||||||
- `LICENSE`
|
- `LICENSE`
|
||||||
@ -437,9 +444,9 @@ Files extracted from upstream source:
|
|||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- all .c, .h in lib/, except arm/ and c64x/ folders
|
- All `.c` and `.h` files in `lib/`, except `arm/` and `c64x/` folders
|
||||||
- all .h files in include/theora/ as theora/
|
- All `.h` files in `include/theora/` as `theora/`
|
||||||
- COPYING and LICENSE
|
- `COPYING` and `LICENSE`
|
||||||
|
|
||||||
|
|
||||||
## libvorbis
|
## libvorbis
|
||||||
@ -463,10 +470,11 @@ Files extracted from upstream source:
|
|||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- `src/` and `sharpyuv/` except from: `.am`, `.rc` and `.in` files
|
- `src/` and `sharpyuv/` except from `.am`, `.rc` and `.in` files
|
||||||
- `AUTHORS`, `COPYING`, `PATENTS`
|
- `AUTHORS`, `COPYING`, `PATENTS`
|
||||||
|
|
||||||
Patch `godot-node-debug-fix.patch` workarounds shadowing of godot's Node class in the MSVC debugger.
|
Patch `godot-node-debug-fix.patch` workarounds shadowing of Godot's Node class
|
||||||
|
in the MSVC debugger.
|
||||||
|
|
||||||
|
|
||||||
## mbedtls
|
## mbedtls
|
||||||
@ -477,14 +485,17 @@ Patch `godot-node-debug-fix.patch` workarounds shadowing of godot's Node class i
|
|||||||
|
|
||||||
File extracted from upstream release tarball:
|
File extracted from upstream release tarball:
|
||||||
|
|
||||||
- All `*.h` from `include/mbedtls/` to `thirdparty/mbedtls/include/mbedtls/` except `config_psa.h` and `psa_util.h`.
|
- All `.h` from `include/mbedtls/` to `thirdparty/mbedtls/include/mbedtls/`
|
||||||
- All `*.c` and `*.h` from `library/` to `thirdparty/mbedtls/library/` except those starting with `psa_*`.
|
except `config_psa.h` and `psa_util.h`
|
||||||
- The `LICENSE` file.
|
- All `.c` and `.h` from `library/` to `thirdparty/mbedtls/library/` except
|
||||||
- Applied the patch in `patches/windows-arm64-hardclock.diff`.
|
those starting with `psa_*`
|
||||||
Applied the patch in `aesni-no-arm-intrinsics.patch` to fix MSVC ARM build.
|
- The `LICENSE` file
|
||||||
|
- Applied the patch in `patches/windows-arm64-hardclock.diff`
|
||||||
|
Applied the patch in `aesni-no-arm-intrinsics.patch` to fix MSVC ARM build
|
||||||
- Added 2 files `godot_core_mbedtls_platform.c` and `godot_core_mbedtls_config.h`
|
- Added 2 files `godot_core_mbedtls_platform.c` and `godot_core_mbedtls_config.h`
|
||||||
providing configuration for light bundling with core.
|
providing configuration for light bundling with core
|
||||||
- Added the file `godot_module_mbedtls_config.h` to customize the build configuration when bundling the full library.
|
- Added the file `godot_module_mbedtls_config.h` to customize the build
|
||||||
|
configuration when bundling the full library
|
||||||
|
|
||||||
|
|
||||||
## meshoptimizer
|
## meshoptimizer
|
||||||
@ -495,13 +506,13 @@ File extracted from upstream release tarball:
|
|||||||
|
|
||||||
Files extracted from upstream repository:
|
Files extracted from upstream repository:
|
||||||
|
|
||||||
- All files in `src/`.
|
- All files in `src/`
|
||||||
- `LICENSE.md`.
|
- `LICENSE.md`
|
||||||
|
|
||||||
An [experimental upstream feature](https://github.com/zeux/meshoptimizer/tree/simplify-attr),
|
An [experimental upstream feature](https://github.com/zeux/meshoptimizer/tree/simplify-attr),
|
||||||
has been backported. On top of that, it was modified to report only distance error metrics
|
has been backported. On top of that, it was modified to report only distance
|
||||||
instead of a combination of distance and attribute errors. Patches for both changes can be
|
error metrics instead of a combination of distance and attribute errors. Patches
|
||||||
found in the `patches` directory.
|
for both changes can be found in the `patches` directory.
|
||||||
|
|
||||||
|
|
||||||
## minimp3
|
## minimp3
|
||||||
@ -571,10 +582,6 @@ Collection of single-file libraries used in Godot components.
|
|||||||
* Upstream: https://github.com/ariya/FastLZ
|
* Upstream: https://github.com/ariya/FastLZ
|
||||||
* Version: 0.5.0 (4f20f54d46f5a6dd4fae4def134933369b7602d2, 2020)
|
* Version: 0.5.0 (4f20f54d46f5a6dd4fae4def134933369b7602d2, 2020)
|
||||||
* License: MIT
|
* License: MIT
|
||||||
- `hq2x.{cpp,h}`
|
|
||||||
* Upstream: https://github.com/brunexgeek/hqx
|
|
||||||
* Version: TBD, file structure differs
|
|
||||||
* License: Apache 2.0
|
|
||||||
- `ifaddrs-android.{cc,h}`
|
- `ifaddrs-android.{cc,h}`
|
||||||
* Upstream: https://chromium.googlesource.com/external/webrtc/stable/talk/+/master/base/ifaddrs-android.h
|
* Upstream: https://chromium.googlesource.com/external/webrtc/stable/talk/+/master/base/ifaddrs-android.h
|
||||||
* Version: git (5976650443d68ccfadf1dea24999ee459dd2819d, 2013)
|
* Version: git (5976650443d68ccfadf1dea24999ee459dd2819d, 2013)
|
||||||
@ -583,10 +590,6 @@ Collection of single-file libraries used in Godot components.
|
|||||||
* Upstream: https://archive.blender.org/wiki/index.php/Dev:Shading/Tangent_Space_Normal_Maps/
|
* Upstream: https://archive.blender.org/wiki/index.php/Dev:Shading/Tangent_Space_Normal_Maps/
|
||||||
* Version: 1.0 (2011)
|
* Version: 1.0 (2011)
|
||||||
* License: zlib
|
* License: zlib
|
||||||
- `FastNoiseLite.h}`
|
|
||||||
* Upstream: https://github.com/Auburn/FastNoiseLite
|
|
||||||
* Version: git (6be3d6bf7fb408de341285f9ee8a29b67fd953f1, 2022) + custom changes
|
|
||||||
* License: MIT
|
|
||||||
- `ok_color.h`
|
- `ok_color.h`
|
||||||
* Upstream: https://github.com/bottosson/bottosson.github.io/blob/master/misc/ok_color.h
|
* Upstream: https://github.com/bottosson/bottosson.github.io/blob/master/misc/ok_color.h
|
||||||
* Version: git (d69831edb90ffdcd08b7e64da3c5405acd48ad2c, 2022)
|
* Version: git (d69831edb90ffdcd08b7e64da3c5405acd48ad2c, 2022)
|
||||||
@ -605,7 +608,7 @@ Collection of single-file libraries used in Godot components.
|
|||||||
* Version: git (7bdffb428b2b19ad1c43aa44c714dcc104177e84, 2021)
|
* Version: git (7bdffb428b2b19ad1c43aa44c714dcc104177e84, 2021)
|
||||||
* Modifications: Change from STL to Godot types (see provided patch).
|
* Modifications: Change from STL to Godot types (see provided patch).
|
||||||
* License: MIT
|
* License: MIT
|
||||||
- `r128.h`
|
- `r128.{c,h}`
|
||||||
* Upstream: https://github.com/fahickman/r128
|
* Upstream: https://github.com/fahickman/r128
|
||||||
* Version: 1.4.4 (cf2e88fc3e7d7dfe99189686f914874cd0bda15e, 2020)
|
* Version: 1.4.4 (cf2e88fc3e7d7dfe99189686f914874cd0bda15e, 2020)
|
||||||
* License: Public Domain or Unlicense
|
* License: Public Domain or Unlicense
|
||||||
@ -614,7 +617,7 @@ Collection of single-file libraries used in Godot components.
|
|||||||
* Version: git (2f625846a775501fb69456567409a8b12f10ea25, 2012)
|
* Version: git (2f625846a775501fb69456567409a8b12f10ea25, 2012)
|
||||||
* License: BSD-3-Clause
|
* License: BSD-3-Clause
|
||||||
* Modifications: use `const char*` instead of `char*` for input string
|
* Modifications: use `const char*` instead of `char*` for input string
|
||||||
- `smolv.h`
|
- `smolv.{cpp,h}`
|
||||||
* Upstream: https://github.com/aras-p/smol-v
|
* Upstream: https://github.com/aras-p/smol-v
|
||||||
* Version: git (4b52c165c13763051a18e80ffbc2ee436314ceb2, 2020)
|
* Version: git (4b52c165c13763051a18e80ffbc2ee436314ceb2, 2020)
|
||||||
* License: Public Domain or MIT
|
* License: Public Domain or MIT
|
||||||
@ -637,17 +640,33 @@ Collection of single-file libraries used in Godot components.
|
|||||||
Files extracted from the upstream source:
|
Files extracted from the upstream source:
|
||||||
|
|
||||||
- `msdfgen.h`
|
- `msdfgen.h`
|
||||||
- Files in `core/` folder.
|
- Files in `core/` folder
|
||||||
- `LICENSE.txt`
|
- `LICENSE.txt`
|
||||||
|
|
||||||
|
|
||||||
|
## noise
|
||||||
|
|
||||||
|
- Upstream: https://github.com/Auburn/FastNoiseLite
|
||||||
|
- Version: git (6be3d6bf7fb408de341285f9ee8a29b67fd953f1, 2022)
|
||||||
|
- License: MIT
|
||||||
|
|
||||||
|
Files extracted from the upstream source:
|
||||||
|
|
||||||
|
- `FastNoiseLite.h`
|
||||||
|
- `LICENSE`
|
||||||
|
|
||||||
|
Some custom changes were made to fix compiler warnings, and can be re-applied
|
||||||
|
with the provided patch.
|
||||||
|
|
||||||
|
|
||||||
## nvapi
|
## nvapi
|
||||||
|
|
||||||
- Upstream: http://download.nvidia.com/XFree86/nvapi-open-source-sdk
|
- Upstream: http://download.nvidia.com/XFree86/nvapi-open-source-sdk
|
||||||
- Version: R525
|
- Version: R525
|
||||||
- License: MIT
|
- License: MIT
|
||||||
|
|
||||||
- `nvapi_minimal.h` was created by using `nvapi.h` from upstream and removing unnecessary code.
|
- `nvapi_minimal.h` was created by using `nvapi.h` from upstream and removing
|
||||||
|
unnecessary code.
|
||||||
|
|
||||||
|
|
||||||
## openxr
|
## openxr
|
||||||
@ -658,20 +677,21 @@ Files extracted from the upstream source:
|
|||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- include/
|
- `include/`
|
||||||
- src/common/
|
- `src/common/`
|
||||||
- src/loader/
|
- `src/loader/`
|
||||||
- src/*.{c,h}
|
- `src/*.{c,h}`
|
||||||
- src/external/jsoncpp/include/
|
- `src/external/jsoncpp/include/`
|
||||||
- src/external/jsoncpp/src/lib_json/
|
- `src/external/jsoncpp/src/lib_json/`
|
||||||
- LICENSE and COPYING.adoc
|
- `LICENSE` and `COPYING.adoc`
|
||||||
|
|
||||||
Exclude:
|
Exclude:
|
||||||
|
|
||||||
- src/external/android-jni-wrappers and src/external/jnipp (not used yet)
|
- `src/external/android-jni-wrappers` and `src/external/jnipp` (not used yet)
|
||||||
- All CMake stuff: cmake/, CMakeLists.txt and *.cmake
|
- All CMake stuff: `cmake/`, `CMakeLists.txt` and `*.cmake`
|
||||||
- All Gradle stuff: *gradle*, AndroidManifest.xml
|
- All Gradle stuff: `*gradle*`, `AndroidManifest.xml`
|
||||||
- All following files (and their .license files): *.{def,expsym,in,json,map,pom,rc,txt}
|
- All following files (and their `.license` files):
|
||||||
|
`*.{def,expsym,in,json,map,pom,rc,txt}`
|
||||||
- All dotfiles
|
- All dotfiles
|
||||||
|
|
||||||
|
|
||||||
@ -683,12 +703,12 @@ Exclude:
|
|||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- Files listed in the file NON-AUTOTOOLS-BUILD steps 1-4
|
- Files listed in the file `NON-AUTOTOOLS-BUILD` steps 1-4
|
||||||
- All .h files in src/ apart from pcre2posix.h
|
- All `.h` files in `src/` apart from `pcre2posix.h`
|
||||||
- src/pcre2_jit_match.c
|
- `src/pcre2_jit_match.c`
|
||||||
- src/pcre2_jit_misc.c
|
- `src/pcre2_jit_misc.c`
|
||||||
- src/sljit/
|
- `src/sljit/`
|
||||||
- AUTHORS and LICENCE
|
- `AUTHORS` and `LICENCE`
|
||||||
|
|
||||||
A sljit patch from upstream was backported to fix macOS < 11.0 compilation
|
A sljit patch from upstream was backported to fix macOS < 11.0 compilation
|
||||||
in 10.40, it can be found in the `patches` folder.
|
in 10.40, it can be found in the `patches` folder.
|
||||||
@ -703,7 +723,7 @@ in 10.40, it can be found in the `patches` folder.
|
|||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- `Recast/` folder without `CMakeLists.txt`
|
- `Recast/` folder without `CMakeLists.txt`
|
||||||
- License.txt
|
- `License.txt`
|
||||||
|
|
||||||
|
|
||||||
## rvo2
|
## rvo2
|
||||||
@ -722,8 +742,8 @@ For 3D in `rvo2_3d` folder
|
|||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- All .cpp and .h files in the `src/` folder except for Export.h and RVO.h
|
- All `.cpp` and `.h` files in the `src/` folder except for `Export.h` and `RVO.h`
|
||||||
- LICENSE
|
- `LICENSE`
|
||||||
|
|
||||||
Important: Nearly all files have Godot-made changes and renames
|
Important: Nearly all files have Godot-made changes and renames
|
||||||
to make the 2D and 3D rvo libraries compatible with each other
|
to make the 2D and 3D rvo libraries compatible with each other
|
||||||
@ -760,7 +780,7 @@ folder.
|
|||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- all .cpp, .h and .inl files
|
- All `.cpp`, `.h` and `.inl` files
|
||||||
|
|
||||||
Important: Some files have Godot-made changes.
|
Important: Some files have Godot-made changes.
|
||||||
They are marked with `// -- GODOT start --` and `// -- GODOT end --`
|
They are marked with `// -- GODOT start --` and `// -- GODOT end --`
|
||||||
@ -819,9 +839,9 @@ folder.
|
|||||||
Unless there is a specific reason to package a more recent version, please stick
|
Unless there is a specific reason to package a more recent version, please stick
|
||||||
to tagged releases. All Vulkan libraries and headers should be kept in sync so:
|
to tagged releases. All Vulkan libraries and headers should be kept in sync so:
|
||||||
|
|
||||||
- Update Vulkan SDK components to the matching tag (see "vulkan").
|
- Update Vulkan SDK components to the matching tag (see "vulkan")
|
||||||
- Update glslang (see "glslang").
|
- Update glslang (see "glslang")
|
||||||
- Update spirv-reflect (see "spirv-reflect").
|
- Update spirv-reflect (see "spirv-reflect")
|
||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
@ -861,11 +881,11 @@ Patches in the `patches` directory should be re-applied after updates.
|
|||||||
|
|
||||||
File extracted from upstream release tarball:
|
File extracted from upstream release tarball:
|
||||||
|
|
||||||
- Run `cmake .` to generate `config.h` and `wslayver.h`.
|
- Run `cmake .` to generate `config.h` and `wslayver.h`
|
||||||
Contents might need tweaking for Godot, review diff.
|
Contents might need tweaking for Godot, review diff
|
||||||
- All `*.c` and `*.h` files from `lib/`
|
- All `.c` and `.h` files from `lib/`
|
||||||
- All `*.h` in `lib/includes/wslay/` as `wslay/`
|
- All `.h` in `lib/includes/wslay/` as `wslay/`
|
||||||
- `wslay/wslay.h` has a small Godot addition to fix MSVC build.
|
- `wslay/wslay.h` has a small Godot addition to fix MSVC build
|
||||||
See `patches/msvcfix.diff`
|
See `patches/msvcfix.diff`
|
||||||
- `COPYING`
|
- `COPYING`
|
||||||
|
|
||||||
@ -890,7 +910,7 @@ Files extracted from upstream source:
|
|||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
|
||||||
- All `*.c` and `*.h` files, minus `infback.c`
|
- All `.c` and `.h` files, minus `infback.c`
|
||||||
- `LICENSE`
|
- `LICENSE`
|
||||||
|
|
||||||
|
|
||||||
|
27
thirdparty/cvtt/etc_notes.txt
vendored
27
thirdparty/cvtt/etc_notes.txt
vendored
@ -1,27 +0,0 @@
|
|||||||
The ETC1 compressor uses modified cluster fit:
|
|
||||||
|
|
||||||
Assume that there exists an ideal base color and set of selectors for a given table.
|
|
||||||
For a given table and set of selectors, the ideal base color can be determined by subtracting the offsets from each pixel and averaging them.
|
|
||||||
Doing that is equivalent to subtracting the average offset from the average color.
|
|
||||||
Because positive and negative selectors of the same magnitude cancel out, the search space of possible average offsets is reduced: 57 unique offsets for the first table and 81 for the others.
|
|
||||||
Most of the offsets result in the same color as another average offset due to quantization of the base color, so those can be de-duplicated.
|
|
||||||
So:
|
|
||||||
- Start with a high-precision average color.
|
|
||||||
- Apply precomputed luma offsets to it.
|
|
||||||
- Quantize and de-duplicate the base colors.
|
|
||||||
- Find the ideal selectors for each base color.
|
|
||||||
|
|
||||||
Differential mode is solved by just finding the best legal combination from those attempts.
|
|
||||||
|
|
||||||
There are several scenarios where this is not ideal:
|
|
||||||
- Clamping behavior can sometimes be leveraged for a more accurate block.
|
|
||||||
- Differentials can sometimes be moved slightly closer to become legal.
|
|
||||||
- This only works when MSE is the error metric (i.e. not normal maps)
|
|
||||||
- This only works when pixel weights are of equal importance (i.e. not using weight by alpha or edge deblocking)
|
|
||||||
|
|
||||||
T and H mode just work by generating clustering assignments by computing a chrominance line and splitting the block in half by the chrominance midpoint and using those to determine the averages.
|
|
||||||
|
|
||||||
Planar mode is just solved algebraically.
|
|
||||||
|
|
||||||
If you want to emulate etc2comp's default settings, add the flag ETC_UseFakeBT709 to use its modified Rec. 709 error coefficients.
|
|
||||||
Doing that will significantly slow down encoding because it requires much more complicated quantization math.
|
|
Loading…
Reference in New Issue
Block a user