Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bevy 0.7 #6

Closed
wants to merge 113 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
6131e70
Merge pull request #1 from cryscan/anisotropic-mipmap
cryscan Feb 27, 2022
e3c1f6b
Load GLTF scene.
cryscan Feb 28, 2022
54dce98
Camera movement.
cryscan Feb 28, 2022
56b34a2
Set up CI.
cryscan Feb 28, 2022
e103c5d
Fly camera.
cryscan Feb 28, 2022
2b41752
Install libudev in CI.
cryscan Feb 28, 2022
7279b7e
Not crashing when resizing.
cryscan Feb 28, 2022
3e89047
Use toolchain 1.58.0 in CI.
cryscan Feb 28, 2022
de21b96
Create LICENSE
cryscan Feb 28, 2022
938d8bb
Merge pull request #2 from cryscan/add-license-1
cryscan Feb 28, 2022
077158f
Add README.md.
cryscan Feb 28, 2022
21a9001
Merge branch 'main' of https://github.com/cryscan/bevy-hikari
cryscan Feb 28, 2022
b44fe67
Add left wall.
cryscan Mar 1, 2022
2a204ea
Change to MIT-Apache dual license.
cryscan Mar 1, 2022
8bd3346
Discard voxels not facing the voxelization view.
cryscan Mar 1, 2022
b812701
Use direct texture loading in mipmapping.
cryscan Mar 1, 2022
afac3c9
Tune tracing step size.
cryscan Mar 1, 2022
5fa7f4a
Use 6 separate anisotropic textures.
cryscan Mar 2, 2022
e5293d6
Use GIF for cover.
cryscan Mar 2, 2022
854ba2d
Adjust cover size.
cryscan Mar 2, 2022
6a994a8
Make into a lib.
cryscan Mar 2, 2022
cab4917
Add rust.yml
cryscan Mar 2, 2022
5c8791e
Add documents to main types.
cryscan Mar 2, 2022
ede3301
Add example descriptions.
cryscan Mar 2, 2022
8b8285e
Add homepage and repository.
cryscan Mar 2, 2022
546b0ae
Add badges.
cryscan Mar 2, 2022
5899273
Update release.yml.
cryscan Mar 3, 2022
20990f7
Overlay to remove UI dependency.
cryscan Mar 3, 2022
c5fb31d
Remove UI camera in examples.
cryscan Mar 3, 2022
5160413
Boost version to 0.1.1.
cryscan Mar 3, 2022
d2c612e
Fix one-frame overlay lagging.
cryscan Mar 3, 2022
060d403
Only registered materials can be rendered GI.
cryscan Mar 4, 2022
1d07be3
Bump version to 0.1.2.
cryscan Mar 5, 2022
d3c514f
Use storage buffer.
cryscan Mar 6, 2022
d1030c0
Implement reflection.
cryscan Mar 6, 2022
01853e7
Bump version to 0.1.3.
cryscan Mar 6, 2022
dcda6f8
Turn off voxel MSAA.
cryscan Mar 6, 2022
fb4ccdf
Update example download link.
cryscan Mar 8, 2022
a6101c7
Deal with all alpha modes in tracing separately.
cryscan Mar 8, 2022
9245bd1
Update city example.
cryscan Mar 8, 2022
c29629a
Reduce transparent voxel radiation.
cryscan Mar 8, 2022
18a2d46
Change specular cone vs roughness.
cryscan Mar 8, 2022
6be83a9
Mix mesh base color to GI.
cryscan Mar 9, 2022
26b7df0
Bump version to 0.1.4.
cryscan Mar 9, 2022
6a5dbbf
Exclude assets in package.
cryscan Mar 9, 2022
ad3dc9e
Add city to release.
cryscan Mar 9, 2022
eefe5ec
Change how color is blended.
cryscan Mar 9, 2022
3bff213
Fix tracing transparent objects.
cryscan Mar 9, 2022
72b0a06
Full throttle in city example.
cryscan Mar 9, 2022
32a471a
Merge branch 'storage-buffer'
cryscan Mar 9, 2022
fe102f2
Fix flickering using more memory.
cryscan Mar 9, 2022
0b19409
Not cast specular cone when roughness is large.
cryscan Mar 9, 2022
ab95995
Use smoother for light control.
cryscan Mar 9, 2022
7f53206
Bump version to 0.1.5.
cryscan Mar 9, 2022
78656e7
Update cover.
cryscan Mar 9, 2022
9609dd6
Make sunlight brighter.
cryscan Mar 9, 2022
5721131
Add comparison.
cryscan Mar 9, 2022
ceff869
Add ability to not render GI for some objects.
cryscan Mar 9, 2022
d6aee3c
Correctly render objects not receiving GI.
cryscan Mar 10, 2022
abab5b3
Add documents to marker components.
cryscan Mar 10, 2022
c08d0a8
Delete a tree in the city scene.
cryscan Mar 10, 2022
d9dd671
Pack/unpack color in mipmap.
cryscan Mar 10, 2022
094b108
Add atmosphere for the city example.
cryscan Mar 10, 2022
6c52408
Implement voxel ambient occlusion.
cryscan Mar 12, 2022
1f4638a
Bump version to v0.1.6.
cryscan Mar 12, 2022
c954f34
Better quality and performance.
cryscan Mar 12, 2022
a41906f
Defer voxel gamma corrction to after tracing.
cryscan Mar 12, 2022
bb78447
Lower the tracing resolution.
cryscan Mar 12, 2022
a40b6d2
Use deferred pipeline.
cryscan Mar 12, 2022
f95d11b
Merge pull request #3 from cryscan/supersampling
cryscan Mar 12, 2022
27846d4
Reduce GI intensity.
cryscan Mar 12, 2022
6733ae2
Reduce Bevy dependencies and update bevy_atmosphere
Shatur Mar 14, 2022
383e58b
Fix voxel radiance calculation.
cryscan Mar 14, 2022
1e2d9a5
Merge pull request #4 from gardum-game/reduce-dependencies
cryscan Mar 14, 2022
c7c0d0a
Reduce shadow normal bias.
cryscan Mar 15, 2022
b3e98f4
Make screen overlay a resourse.
cryscan Mar 15, 2022
7b61657
Move VolumeView into voxel.rs
cryscan Mar 15, 2022
29140a1
Update CI.
cryscan Mar 15, 2022
bd427b8
Make systems private.
cryscan Mar 16, 2022
b3cb8b2
Use morton curve for indexing.
cryscan Mar 16, 2022
b35e614
Use uniform for directions in tracing.
cryscan Mar 18, 2022
3cbd5a3
Prepare screen overlay by itself.
cryscan Mar 18, 2022
04e45e3
Save even more memory using only 4 bytes per voxel.
cryscan Mar 19, 2022
1e0ea63
Merge branch 'main' of https://github.com/cryscan/bevy-hikari into main
cryscan Mar 19, 2022
5c46978
Optimize mipmap indexing pattern.
cryscan Mar 20, 2022
f55ff99
SRGB texture doesn't need gamma correction.
cryscan Mar 20, 2022
ee8aa61
Bump version to 0.1.8.
cryscan Mar 20, 2022
ab87534
Clear backgrounds to black.
cryscan Mar 20, 2022
8541885
Adjust coef.
cryscan Mar 20, 2022
d5602f6
Use linear filtering in mag.
cryscan Mar 20, 2022
91bd671
Remove reflection GI: prepare for better.
cryscan Mar 21, 2022
dafd31c
Update README.
cryscan Mar 22, 2022
5bbd8d9
Voxel HDR.
cryscan Mar 23, 2022
5330e48
Remove mipmap shader branches.
cryscan Mar 23, 2022
52e9f2d
Combine the first 6 mipmap passes into one.
cryscan Mar 23, 2022
c76b684
Optimize texture access.
cryscan Mar 23, 2022
7453d54
Bump version to 0.1.9.
cryscan Mar 23, 2022
5cc9c4e
Update screenshots.
cryscan Mar 23, 2022
179f4a7
Turn Volume::new() into const
Shatur Mar 23, 2022
a2ad0d7
Support MSAA sample 1.
cryscan Mar 25, 2022
b003e63
Merge pull request #5 from gardum-game/const-new
cryscan Mar 25, 2022
e35152f
Reorganize overlay code.
cryscan Mar 25, 2022
a1a0328
Fix depth samples.
cryscan Mar 25, 2022
ac71845
Update overlay images sample count.
cryscan Mar 25, 2022
a7680e2
Add update to post update.
cryscan Mar 25, 2022
6f92a34
Bump version to v0.1.10.
cryscan Mar 25, 2022
d9f41c1
Being able to dynamically enable/disable GI.
cryscan Mar 27, 2022
3446315
Bump version to 0.1.11.
cryscan Mar 27, 2022
75d7b61
Use a resource to control enable/disable of GI.
cryscan Mar 28, 2022
b2b87b9
Allow setting enable in plugin init.
cryscan Mar 28, 2022
5f80cc5
Add doc for config.
cryscan Mar 28, 2022
dfe7671
Update to latest stable toolchain.
cryscan Apr 3, 2022
6bfe89c
Bump bevy from 0.6 to 0.7
Shatur Apr 17, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
175 changes: 175 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
on:
push:
tags:
- 'v*' # Run when tag matches v*, i.e. v1.0, v20.15.10

name: Release

env:
RELEASE_BIN: bevy-hikari
RELEASE_DIR: artifacts
GITHUB_REF: '${{ github.ref }}'
WINDOWS_TARGET: x86_64-pc-windows-msvc
MACOS_TARGET: x86_64-apple-darwin
LINUX_TARGET: x86_64-unknown-linux-gnu

# Space separated paths to include in the archive.
RELEASE_ADDS: README.md LICENSE assets
EXAMPLE_BINS: minimal city

jobs:
build:
name: Build artifacts
runs-on: ${{ matrix.os }}
strategy:
matrix:
build: [linux, macos, windows]
include:
- build: linux
os: ubuntu-latest
rust: stable
- build: macos
os: macos-latest
rust: stable
- build: windows
os: windows-latest
rust: stable

steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
target: wasm32-unknown-unknown

- name: Query version number
id: get_version
shell: bash
run: |
echo "using version tag ${GITHUB_REF:10}"
echo ::set-output name=version::"${GITHUB_REF:10}"
- name: Install tools (Linux)
if: matrix.build == 'linux'
run: |
sudo apt-get update -y --allow-releaseinfo-change
sudo apt-get install libudev-dev
sudo apt-get install libasound2-dev
- name: Install p7zip (MacOS)
if: matrix.build == 'macos'
run: brew install p7zip

- name: Build (Linux)
if: matrix.build == 'linux'
run: |
rustup target add ${{ env.LINUX_TARGET }}
cargo build --release --examples --target ${{ env.LINUX_TARGET }}
- name: Build (MacOS)
if: matrix.build == 'macos'
run: cargo build --release --examples

- name: Build (Windows)
if: matrix.build == 'windows'
run: cargo build --release --examples

- name: Create artifact directory
run: |
mkdir ${{ env.RELEASE_DIR }}
mkdir dist
- name: Create tarball (Linux)
if: matrix.build == 'linux'
run: |
for bin in ${{ env.EXAMPLE_BINS }}
do
mv ./target/${{ env.LINUX_TARGET }}/release/examples/${bin} ./dist/${bin}
done
mv ${{ env.RELEASE_ADDS }} ./dist
7z a -tzip ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.zip ./dist
- name: Create tarball (Windows)
if: matrix.build == 'windows'
shell: bash
run: |
for bin in ${{ env.EXAMPLE_BINS }}
do
mv ./target/release/examples/${bin}.exe ./dist/${bin}.exe
done
mv ${{ env.RELEASE_ADDS }} ./dist
7z a -tzip ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.zip ./dist
- name: Create tarball (MacOS)
if: matrix.build == 'macos'
run: |
for bin in $${{ env.EXAMPLE_BINS }}
do
mv ./target/release/examples/${bin} ./dist/${bin}
done
mv ${{ env.RELEASE_ADDS }} ./dist
7z a -tzip ./${{ env.RELEASE_DIR }}/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.zip ./dist
- name: Upload Zip
uses: actions/upload-artifact@v1
with:
name: ${{ matrix.build }}
path: ./${{ env.RELEASE_DIR }}

release:
name: GitHub Release
needs: build
runs-on: ubuntu-latest
steps:
- name: Query version number
id: get_version
shell: bash
run: |
echo "using version tag ${GITHUB_REF:10}"
echo ::set-output name=version::"${GITHUB_REF:10}"
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.get_version.outputs.VERSION }}
release_name: ${{ steps.get_version.outputs.VERSION }}

- name: Download Linux tarball
uses: actions/download-artifact@v1
with:
name: linux

- name: Download MacOS tarball
uses: actions/download-artifact@v1
with:
name: windows

- name: Download MacOS tarball
uses: actions/download-artifact@v1
with:
name: macos

- name: Release Linux tarball
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./linux/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.zip
asset_content_type: application/zip
asset_name: ${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.LINUX_TARGET }}.zip

- name: Release Windows tarball
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./windows/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.zip
asset_content_type: application/zip
asset_name: ${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.WINDOWS_TARGET }}.zip
- name: Release MacOS tarball
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./macos/${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.zip
asset_content_type: application/zip
asset_name: ${{ env.RELEASE_BIN }}-${{ steps.get_version.outputs.VERSION }}-${{ env.MACOS_TARGET }}.zip
56 changes: 56 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
on:
pull_request:
push:
branches:
- main

name: CI

jobs:
ci:
name: CI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Update Packages
run: sudo apt-get update -yq --allow-releaseinfo-change
- name: Install dependencies
run: sudo apt-get install -yq --no-install-recommends libudev-dev libasound2-dev libxcb-composite0-dev

- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true

- name: Cache Dependencies
uses: Swatinem/rust-cache@ce325b60658c1b38465c06cc965b79baf32c1e72

- name: Install fmt
run: rustup component add rustfmt

- name: fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check

- name: check
uses: actions-rs/cargo@v1
with:
command: check

- name: Install clippy
run: rustup component add clippy

- name: run clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings

- name: test
uses: actions-rs/cargo@v1
with:
command: test
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
/target
/.vscode
Cargo.lock
6 changes: 0 additions & 6 deletions .vscode/settings.json

This file was deleted.

Loading