├── .gitignore
├── LICENSE
├── README.md
├── Visualizer.sln
└── Visualizer
├── .editorconfig
├── App
├── Resource.rc
├── dll
│ └── soundtouch
│ │ ├── COPYING.TXT
│ │ └── SoundTouch_x64.dll
├── engine
│ ├── font
│ │ ├── fontawesome
│ │ │ ├── LICENSE.txt
│ │ │ ├── fontawesome-brands.otf.zstdcmp
│ │ │ └── fontawesome-solid.otf.zstdcmp
│ │ ├── materialdesignicons
│ │ │ ├── license.md
│ │ │ └── materialdesignicons-webfont.ttf.zstdcmp
│ │ ├── min
│ │ │ ├── LICENSE
│ │ │ └── siv3d-min.woff
│ │ ├── mplus
│ │ │ ├── LICENSE_E
│ │ │ ├── mplus-1p-black.ttf.zstdcmp
│ │ │ ├── mplus-1p-bold.ttf.zstdcmp
│ │ │ ├── mplus-1p-heavy.ttf.zstdcmp
│ │ │ ├── mplus-1p-light.ttf.zstdcmp
│ │ │ ├── mplus-1p-medium.ttf.zstdcmp
│ │ │ ├── mplus-1p-regular.ttf.zstdcmp
│ │ │ └── mplus-1p-thin.ttf.zstdcmp
│ │ ├── noto-cjk
│ │ │ ├── LICENSE
│ │ │ ├── NotoSansCJK-Regular.ttc.zstdcmp
│ │ │ └── NotoSansJP-Regular.otf.zstdcmp
│ │ └── noto-emoji
│ │ │ ├── LICENSE
│ │ │ ├── NotoColorEmoji.ttf.zstdcmp
│ │ │ └── NotoEmoji-Regular.ttf.zstdcmp
│ ├── shader
│ │ ├── d3d11
│ │ │ ├── apply_srgb_curve.ps
│ │ │ ├── bitmapfont.ps
│ │ │ ├── copy.ps
│ │ │ ├── forward3d.ps
│ │ │ ├── forward3d.vs
│ │ │ ├── fullscreen_triangle.ps
│ │ │ ├── fullscreen_triangle.vs
│ │ │ ├── gaussian_blur_9.ps
│ │ │ ├── line3d.ps
│ │ │ ├── line3d.vs
│ │ │ ├── msdffont.ps
│ │ │ ├── msdffont_outline.ps
│ │ │ ├── msdffont_outlineshadow.ps
│ │ │ ├── msdffont_shadow.ps
│ │ │ ├── msdfprint.ps
│ │ │ ├── round_dot.ps
│ │ │ ├── sdffont.ps
│ │ │ ├── sdffont_outline.ps
│ │ │ ├── sdffont_outlineshadow.ps
│ │ │ ├── sdffont_shadow.ps
│ │ │ ├── shape.ps
│ │ │ ├── sky.ps
│ │ │ ├── sprite.vs
│ │ │ ├── square_dot.ps
│ │ │ └── texture.ps
│ │ └── glsl
│ │ │ ├── apply_srgb_curve.frag
│ │ │ ├── bitmapfont.frag
│ │ │ ├── copy.frag
│ │ │ ├── forward3d.frag
│ │ │ ├── forward3d.vert
│ │ │ ├── fullscreen_triangle.frag
│ │ │ ├── fullscreen_triangle.vert
│ │ │ ├── gaussian_blur_9.frag
│ │ │ ├── line3d.frag
│ │ │ ├── line3d.vert
│ │ │ ├── msdffont.frag
│ │ │ ├── msdffont_outline.frag
│ │ │ ├── msdffont_outlineshadow.frag
│ │ │ ├── msdffont_shadow.frag
│ │ │ ├── msdfprint.frag
│ │ │ ├── round_dot.frag
│ │ │ ├── sdffont.frag
│ │ │ ├── sdffont_outline.frag
│ │ │ ├── sdffont_outlineshadow.frag
│ │ │ ├── sdffont_shadow.frag
│ │ │ ├── shape.frag
│ │ │ ├── sky.frag
│ │ │ ├── sprite.vert
│ │ │ ├── square_dot.frag
│ │ │ └── texture.frag
│ ├── soundfont
│ │ ├── GMGSx.sf2.txt
│ │ └── GMGSx.sf2.zstdcmp
│ └── texture
│ │ └── box-shadow
│ │ ├── 128.png
│ │ ├── 16.png
│ │ ├── 256.png
│ │ ├── 32.png
│ │ ├── 64.png
│ │ └── 8.png
├── example
│ ├── LICENSE.txt
│ ├── bay.jpg
│ ├── csv
│ │ └── config.csv
│ ├── font
│ │ ├── DotGothic16
│ │ │ ├── DotGothic16-Regular.ttf
│ │ │ ├── OFL.txt
│ │ │ ├── README-JP.md
│ │ │ └── README.md
│ │ └── RocknRoll
│ │ │ ├── OFL.txt
│ │ │ ├── README-JP.md
│ │ │ ├── README.md
│ │ │ └── RocknRollOne-Regular.ttf
│ ├── geojson
│ │ └── countries.geojson
│ ├── gif
│ │ └── test.gif
│ ├── ini
│ │ └── config.ini
│ ├── json
│ │ ├── config.json
│ │ ├── empty.json
│ │ ├── invalid-blank.json
│ │ ├── invalid-syntax.json
│ │ └── test.json
│ ├── midi
│ │ ├── test.mid
│ │ └── test.txt
│ ├── obj
│ │ ├── bark.jpg
│ │ ├── blacksmith.mtl
│ │ ├── blacksmith.obj
│ │ ├── credit.txt
│ │ ├── crystal1.mtl
│ │ ├── crystal1.obj
│ │ ├── crystal2.mtl
│ │ ├── crystal2.obj
│ │ ├── crystal3.mtl
│ │ ├── crystal3.obj
│ │ ├── leaves.png
│ │ ├── mill.mtl
│ │ ├── mill.obj
│ │ ├── pine.mtl
│ │ ├── pine.obj
│ │ ├── pine_leaves_red.png
│ │ ├── siv3d-kun-eye.png
│ │ ├── siv3d-kun.mtl
│ │ ├── siv3d-kun.obj
│ │ ├── siv3d-kun.png
│ │ ├── tree.mtl
│ │ └── tree.obj
│ ├── objdetect
│ │ └── haarcascade
│ │ │ ├── eye.xml
│ │ │ ├── face_anime.xml
│ │ │ ├── frontal_catface.xml
│ │ │ └── frontal_face_alt2.xml
│ ├── particle.png
│ ├── script
│ │ ├── breakout.as
│ │ ├── hello.as
│ │ ├── paint.as
│ │ ├── piano.as
│ │ └── test.as
│ ├── shader
│ │ ├── glsl
│ │ │ ├── default2d.vert
│ │ │ ├── default2d_shape.frag
│ │ │ ├── default2d_texture.frag
│ │ │ ├── default3d_forward.frag
│ │ │ ├── default3d_forward.vert
│ │ │ ├── extract_bright_linear.frag
│ │ │ ├── forward_fog.frag
│ │ │ ├── forward_triplanar.frag
│ │ │ ├── game_of_life.frag
│ │ │ ├── grayscale.frag
│ │ │ ├── homography.frag
│ │ │ ├── homography.vert
│ │ │ ├── multi_texture_blend.frag
│ │ │ ├── multi_texture_mask.frag
│ │ │ ├── poisson_disk.frag
│ │ │ ├── posterize.frag
│ │ │ ├── rgb_shift.frag
│ │ │ ├── rgb_to_bgr.frag
│ │ │ ├── soft_shape.vert
│ │ │ ├── swirl.frag
│ │ │ ├── terrain_forward.frag
│ │ │ ├── terrain_forward.vert
│ │ │ └── terrain_normal.frag
│ │ └── hlsl
│ │ │ ├── default2d.hlsl
│ │ │ ├── default3d_forward.hlsl
│ │ │ ├── extract_bright_linear.hlsl
│ │ │ ├── forward_fog.hlsl
│ │ │ ├── forward_triplanar.hlsl
│ │ │ ├── game_of_life.hlsl
│ │ │ ├── grayscale.hlsl
│ │ │ ├── homography.hlsl
│ │ │ ├── multi_texture_blend.hlsl
│ │ │ ├── multi_texture_mask.hlsl
│ │ │ ├── poisson_disk.hlsl
│ │ │ ├── posterize.hlsl
│ │ │ ├── rgb_shift.hlsl
│ │ │ ├── rgb_to_bgr.hlsl
│ │ │ ├── soft_shape.hlsl
│ │ │ ├── swirl.hlsl
│ │ │ ├── terrain_forward.hlsl
│ │ │ └── terrain_normal.hlsl
│ ├── shot.mp3
│ ├── siv3d-kun.png
│ ├── spritesheet
│ │ ├── siv3d-kun-16.png
│ │ └── siv3d-kun-16.txt
│ ├── svg
│ │ ├── README.txt
│ │ ├── cat.svg
│ │ └── turtle.svg
│ ├── test.mp3
│ ├── texture
│ │ ├── credit.txt
│ │ ├── earth.jpg
│ │ ├── grass.jpg
│ │ ├── ground.jpg
│ │ ├── rock.jpg
│ │ ├── uv.png
│ │ └── wood.jpg
│ ├── toml
│ │ ├── config.toml
│ │ └── test.toml
│ ├── txt
│ │ ├── en.txt
│ │ ├── jp.txt
│ │ ├── kr.txt
│ │ └── sc.txt
│ ├── video
│ │ ├── river.mp4
│ │ └── river.txt
│ ├── windmill.png
│ ├── xml
│ │ ├── config.xml
│ │ └── test.xml
│ └── zip
│ │ └── zip_test.zip
└── icon.ico
├── Button.h
├── Constant.h
├── Coordinate.h
├── ElementManege.cpp
├── ElementManege.h
├── Field.cpp
├── Field.h
├── FloatingController.h
├── Landing.h
├── LandingInterface.h
├── Main.cpp
├── Robot.cpp
├── Robot.h
├── SerialListView.h
├── SerialManeger.cpp
├── SerialManeger.h
├── SerialReader.h
├── SerialWriter.h
├── VirtualElement.cpp
├── VirtualElement.h
├── Visualizer.cpp
├── Visualizer.h
├── Visualizer.vcxproj
├── Visualizer.vcxproj.filters
├── stdafx.cpp
└── stdafx.h
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 CaseyNelson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Visualizer
2 |
3 | 
4 |
5 | ## 🤔 Description
6 |
7 | ロボットに搭載されている紙飛行機の発射機構の操縦アプリです。
8 |
9 | 2022 年度全国高専ロボコン 四国地区大会、全国大会で使用しました。
10 |
11 | [全国高専ロボコン競技ルール](https://official-robocon.com/robocon_wp/wordpress/wp-content/uploads/2022/04/kosen2022_rulebook.pdf)
12 |
13 | ## 🐣 Download
14 |
15 | 以下のリンクから実行ファイルをダウンロードできます。
16 |
17 | [Windows x64](https://github.com/CaseyNelson314/Visualizer/releases/download/v1.0.1/Visualizer.exe)
18 |
19 | > "Windows によって PC が保護されました" と表示される場合、続けて "詳細情報" をクリックすると実行できます。
20 |
21 | curl を使用できる方はこちら。
22 |
23 | ```sh
24 | curl -OL https://github.com/CaseyNelson314/Visualizer/releases/download/v1.0.1/Visualizer.exe
25 | start .\Visualizer.exe
26 | ```
27 |
28 | ## 💬 Usage
29 |
30 | ### ロボット操作
31 |
32 | WASD キーで平行移動、QE キーで旋回できます。
33 |
34 | ### 着陸点選択
35 |
36 | 紙飛行機の着陸点をタッチすることで選択できます。最大 2 箇所まで選択できます。
37 |
38 | ### 発射機構切り替え
39 |
40 | ロボットをタッチすることで使用する発射機構の切り替えができます。
41 |
42 | ### スタートゾーン切替
43 |
44 | スタートゾーンをタッチすることで切り替えられます。
45 |
46 | ### 浮動コントローラー
47 |
48 | ロボットへ発射機構の微調整、発射、ゼロ点取り、射出ローラー回転切替、再装填の指示を送信します。
49 |
50 | ドラッグすると画面上を自由に移動できます。
51 |
52 | ### 通信
53 |
54 | 右上の COM ポートリストからポートを選択後、OPEN ボタンを押すことで通信を開始します。
55 |
56 | ※Bluetooth 経由の COM ポートを開こうとした時、アプリが落ちる場合があります。
57 |
58 | ### その他
59 |
60 | F キーを押すことでフルスクリーンモードに切り替えられます。
61 |
62 | F1 キーを押すことで OpenSiv3D が使用しているサードパーティ・ソフトウェアのライセンス情報を表示します。
63 |
64 | ## 📗 Summary
65 |
66 | ### 通信
67 |
68 | PC とロボット間の通信の流れは以下のようになっています。
69 |
70 | 各データがまとまった構造体をバイト列に変換し送受信しています。
71 |
72 | ```mermaid
73 | flowchart LR
74 | subgraph ロボット
75 | Master[Master/Teensy4.0] <--I2C--> MasterForwarding[Teensy4.0] <--UART--> MasterIM920[IM920]
76 | end
77 | subgraph 操縦者
78 | MasterIM920 <-.920MHz.-> ToPC[IM920] <--UART--> PCForwarding[Teensy4.0] <--UART--> PC
79 | end
80 | ```
81 |
82 | ### GUI
83 |
84 | 描画用フレームワークである OpenSiv3D を使い、C++で記述しています。
85 |
86 | 使わせていただいた OpenSiv3D のリンクです。
87 |
88 |
89 |
90 |
91 |
92 | ### Class Tree
93 |
94 | このアプリはクラスの組み合わせによって構成されています。
95 |
96 | | クラス名 | 役割 |
97 | | ------------------ | -------------------------- |
98 | | Field | 競技フィールドエリア |
99 | | Landing | 着陸点 |
100 | | FloatingController | 浮動コントローラー |
101 | | SerialListView | シリアルポートリスト(右上) |
102 | | Coordinate | 座標表示 (右下) |
103 | | SerialManager | 通信管理 |
104 |
105 | ```mermaid
106 | flowchart BT
107 |
108 | loop
109 |
110 | vis[Visualizer] --> loop
111 |
112 | Field --> VirtualElement --仮想座標から実座標に変換 --> vis
113 |
114 | Robot --> Field
115 |
116 | SerialManager --> vis
117 | SerialWriter --継承--> SerialManager
118 | SerialReader --継承--> SerialManager
119 |
120 | LandingInterface --継承--> Landing --> Field
121 |
122 | Coordinate --> vis
123 |
124 | SerialListView --> vis
125 |
126 | FloatingController --> vis
127 | ```
128 |
129 | ## 👤 Author
130 |
131 | [CaseyNelson](https://github.com/CaseyNelson314)
132 |
133 | ## 📖 License
134 |
135 | MIT License
136 |
137 | ## 💻 Development
138 |
139 | | | |
140 | | :-: | ----------------------------------------------------- |
141 | | OS | Windows 11 Home, Pro |
142 | | IDE | Microsoft Visual Studio Community 2022 Version 17.4.4 |
143 | | SDK | OpenSiv3D v0.6.6 |
144 |
--------------------------------------------------------------------------------
/Visualizer.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.3.32811.315
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Visualizer", "Visualizer\Visualizer.vcxproj", "{9DBE995B-E9EC-4FA8-8152-37573286FBD0}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|x64 = Debug|x64
11 | Release|x64 = Release|x64
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {9DBE995B-E9EC-4FA8-8152-37573286FBD0}.Debug|x64.ActiveCfg = Debug|x64
15 | {9DBE995B-E9EC-4FA8-8152-37573286FBD0}.Debug|x64.Build.0 = Debug|x64
16 | {9DBE995B-E9EC-4FA8-8152-37573286FBD0}.Release|x64.ActiveCfg = Release|x64
17 | {9DBE995B-E9EC-4FA8-8152-37573286FBD0}.Release|x64.Build.0 = Release|x64
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {C18CCAAC-E368-4690-80BE-39C40A5E7B31}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/Visualizer/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*.{c++,cc,cpp,cppm,cxx,h,h++,hh,hpp,hxx,inl,ipp,ixx,tlh,tli}]
4 | charset = utf-8-bom
5 | insert_final_newline = true
6 | indent_size = 4
7 | indent_style = tab
8 | trim_trailing_whitespace = true
9 |
10 | cpp_generate_documentation_comments = doxygen_triple_slash
11 | cpp_indent_braces = false
12 | cpp_indent_multi_line_relative_to = innermost_parenthesis
13 | cpp_indent_within_parentheses = indent
14 | cpp_indent_preserve_within_parentheses = true
15 | cpp_indent_case_contents = true
16 | cpp_indent_case_labels = false
17 | cpp_indent_case_contents_when_block = false
18 | cpp_indent_lambda_braces_when_parameter = true
19 | cpp_indent_goto_labels = one_left
20 | cpp_indent_preprocessor = leftmost_column
21 | cpp_indent_access_specifiers = false
22 | cpp_indent_namespace_contents = true
23 | cpp_indent_preserve_comments = false
24 | cpp_new_line_before_open_brace_namespace = ignore
25 | cpp_new_line_before_open_brace_type = ignore
26 | cpp_new_line_before_open_brace_function = ignore
27 | cpp_new_line_before_open_brace_block = ignore
28 | cpp_new_line_before_open_brace_lambda = ignore
29 | cpp_new_line_scope_braces_on_separate_lines = false
30 | cpp_new_line_close_brace_same_line_empty_type = false
31 | cpp_new_line_close_brace_same_line_empty_function = false
32 | cpp_new_line_before_catch = true
33 | cpp_new_line_before_else = true
34 | cpp_new_line_before_while_in_do_while = false
35 | cpp_space_before_function_open_parenthesis = remove
36 | cpp_space_within_parameter_list_parentheses = false
37 | cpp_space_between_empty_parameter_list_parentheses = false
38 | cpp_space_after_keywords_in_control_flow_statements = true
39 | cpp_space_within_control_flow_statement_parentheses = false
40 | cpp_space_before_lambda_open_parenthesis = false
41 | cpp_space_within_cast_parentheses = false
42 | cpp_space_after_cast_close_parenthesis = false
43 | cpp_space_within_expression_parentheses = false
44 | cpp_space_before_block_open_brace = true
45 | cpp_space_between_empty_braces = false
46 | cpp_space_before_initializer_list_open_brace = false
47 | cpp_space_within_initializer_list_braces = true
48 | cpp_space_preserve_in_initializer_list = true
49 | cpp_space_before_open_square_bracket = false
50 | cpp_space_within_square_brackets = false
51 | cpp_space_before_empty_square_brackets = false
52 | cpp_space_between_empty_square_brackets = false
53 | cpp_space_group_square_brackets = true
54 | cpp_space_within_lambda_brackets = false
55 | cpp_space_between_empty_lambda_brackets = false
56 | cpp_space_before_comma = false
57 | cpp_space_after_comma = true
58 | cpp_space_remove_around_member_operators = true
59 | cpp_space_before_inheritance_colon = true
60 | cpp_space_before_constructor_colon = true
61 | cpp_space_remove_before_semicolon = true
62 | cpp_space_after_semicolon = true
63 | cpp_space_remove_around_unary_operator = true
64 | cpp_space_around_binary_operator = insert
65 | cpp_space_around_assignment_operator = insert
66 | cpp_space_pointer_reference_alignment = left
67 | cpp_space_around_ternary_operator = insert
68 | cpp_wrap_preserve_blocks = one_liners
69 |
--------------------------------------------------------------------------------
/Visualizer/App/dll/soundtouch/SoundTouch_x64.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/dll/soundtouch/SoundTouch_x64.dll
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/fontawesome/fontawesome-brands.otf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/fontawesome/fontawesome-brands.otf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/fontawesome/fontawesome-solid.otf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/fontawesome/fontawesome-solid.otf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/materialdesignicons/materialdesignicons-webfont.ttf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/materialdesignicons/materialdesignicons-webfont.ttf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/min/LICENSE:
--------------------------------------------------------------------------------
1 | This Font Software is licensed under the SIL Open Font License,
2 | Version 1.1.
3 |
4 | This license is copied below, and is also available with a FAQ at:
5 | http://scripts.sil.org/OFL
6 |
7 | -----------------------------------------------------------
8 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
9 | -----------------------------------------------------------
10 |
11 | PREAMBLE
12 | The goals of the Open Font License (OFL) are to stimulate worldwide
13 | development of collaborative font projects, to support the font
14 | creation efforts of academic and linguistic communities, and to
15 | provide a free and open framework in which fonts may be shared and
16 | improved in partnership with others.
17 |
18 | The OFL allows the licensed fonts to be used, studied, modified and
19 | redistributed freely as long as they are not sold by themselves. The
20 | fonts, including any derivative works, can be bundled, embedded,
21 | redistributed and/or sold with any software provided that any reserved
22 | names are not used by derivative works. The fonts and derivatives,
23 | however, cannot be released under any other type of license. The
24 | requirement for fonts to remain under this license does not apply to
25 | any document created using the fonts or their derivatives.
26 |
27 | DEFINITIONS
28 | "Font Software" refers to the set of files released by the Copyright
29 | Holder(s) under this license and clearly marked as such. This may
30 | include source files, build scripts and documentation.
31 |
32 | "Reserved Font Name" refers to any names specified as such after the
33 | copyright statement(s).
34 |
35 | "Original Version" refers to the collection of Font Software
36 | components as distributed by the Copyright Holder(s).
37 |
38 | "Modified Version" refers to any derivative made by adding to,
39 | deleting, or substituting -- in part or in whole -- any of the
40 | components of the Original Version, by changing formats or by porting
41 | the Font Software to a new environment.
42 |
43 | "Author" refers to any designer, engineer, programmer, technical
44 | writer or other person who contributed to the Font Software.
45 |
46 | PERMISSION & CONDITIONS
47 | Permission is hereby granted, free of charge, to any person obtaining
48 | a copy of the Font Software, to use, study, copy, merge, embed,
49 | modify, redistribute, and sell modified and unmodified copies of the
50 | Font Software, subject to the following conditions:
51 |
52 | 1) Neither the Font Software nor any of its individual components, in
53 | Original or Modified Versions, may be sold by itself.
54 |
55 | 2) Original or Modified Versions of the Font Software may be bundled,
56 | redistributed and/or sold with any software, provided that each copy
57 | contains the above copyright notice and this license. These can be
58 | included either as stand-alone text files, human-readable headers or
59 | in the appropriate machine-readable metadata fields within text or
60 | binary files as long as those fields can be easily viewed by the user.
61 |
62 | 3) No Modified Version of the Font Software may use the Reserved Font
63 | Name(s) unless explicit written permission is granted by the
64 | corresponding Copyright Holder. This restriction only applies to the
65 | primary font name as presented to the users.
66 |
67 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
68 | Software shall not be used to promote, endorse or advertise any
69 | Modified Version, except to acknowledge the contribution(s) of the
70 | Copyright Holder(s) and the Author(s) or with their explicit written
71 | permission.
72 |
73 | 5) The Font Software, modified or unmodified, in part or in whole,
74 | must be distributed entirely under this license, and must not be
75 | distributed under any other license. The requirement for fonts to
76 | remain under this license does not apply to any document created using
77 | the Font Software.
78 |
79 | TERMINATION
80 | This license becomes null and void if any of the above conditions are
81 | not met.
82 |
83 | DISCLAIMER
84 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
85 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
86 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
87 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
88 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
89 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
90 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
91 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
92 | OTHER DEALINGS IN THE FONT SOFTWARE.
93 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/min/siv3d-min.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/min/siv3d-min.woff
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/mplus/LICENSE_E:
--------------------------------------------------------------------------------
1 | M+ FONTS Copyright (C) 2002-2019 M+ FONTS PROJECT
2 |
3 | -
4 |
5 | LICENSE_E
6 |
7 |
8 |
9 |
10 | These fonts are free software.
11 | Unlimited permission is granted to use, copy, and distribute them, with
12 | or without modification, either commercially or noncommercially.
13 | THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY.
14 |
15 |
16 | http://mplus-fonts.osdn.jp
17 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/mplus/mplus-1p-black.ttf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/mplus/mplus-1p-black.ttf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/mplus/mplus-1p-bold.ttf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/mplus/mplus-1p-bold.ttf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/mplus/mplus-1p-heavy.ttf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/mplus/mplus-1p-heavy.ttf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/mplus/mplus-1p-light.ttf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/mplus/mplus-1p-light.ttf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/mplus/mplus-1p-medium.ttf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/mplus/mplus-1p-medium.ttf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/mplus/mplus-1p-regular.ttf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/mplus/mplus-1p-regular.ttf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/mplus/mplus-1p-thin.ttf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/mplus/mplus-1p-thin.ttf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/noto-cjk/LICENSE:
--------------------------------------------------------------------------------
1 | This Font Software is licensed under the SIL Open Font License,
2 | Version 1.1.
3 |
4 | This license is copied below, and is also available with a FAQ at:
5 | http://scripts.sil.org/OFL
6 |
7 | -----------------------------------------------------------
8 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
9 | -----------------------------------------------------------
10 |
11 | PREAMBLE
12 | The goals of the Open Font License (OFL) are to stimulate worldwide
13 | development of collaborative font projects, to support the font
14 | creation efforts of academic and linguistic communities, and to
15 | provide a free and open framework in which fonts may be shared and
16 | improved in partnership with others.
17 |
18 | The OFL allows the licensed fonts to be used, studied, modified and
19 | redistributed freely as long as they are not sold by themselves. The
20 | fonts, including any derivative works, can be bundled, embedded,
21 | redistributed and/or sold with any software provided that any reserved
22 | names are not used by derivative works. The fonts and derivatives,
23 | however, cannot be released under any other type of license. The
24 | requirement for fonts to remain under this license does not apply to
25 | any document created using the fonts or their derivatives.
26 |
27 | DEFINITIONS
28 | "Font Software" refers to the set of files released by the Copyright
29 | Holder(s) under this license and clearly marked as such. This may
30 | include source files, build scripts and documentation.
31 |
32 | "Reserved Font Name" refers to any names specified as such after the
33 | copyright statement(s).
34 |
35 | "Original Version" refers to the collection of Font Software
36 | components as distributed by the Copyright Holder(s).
37 |
38 | "Modified Version" refers to any derivative made by adding to,
39 | deleting, or substituting -- in part or in whole -- any of the
40 | components of the Original Version, by changing formats or by porting
41 | the Font Software to a new environment.
42 |
43 | "Author" refers to any designer, engineer, programmer, technical
44 | writer or other person who contributed to the Font Software.
45 |
46 | PERMISSION & CONDITIONS
47 | Permission is hereby granted, free of charge, to any person obtaining
48 | a copy of the Font Software, to use, study, copy, merge, embed,
49 | modify, redistribute, and sell modified and unmodified copies of the
50 | Font Software, subject to the following conditions:
51 |
52 | 1) Neither the Font Software nor any of its individual components, in
53 | Original or Modified Versions, may be sold by itself.
54 |
55 | 2) Original or Modified Versions of the Font Software may be bundled,
56 | redistributed and/or sold with any software, provided that each copy
57 | contains the above copyright notice and this license. These can be
58 | included either as stand-alone text files, human-readable headers or
59 | in the appropriate machine-readable metadata fields within text or
60 | binary files as long as those fields can be easily viewed by the user.
61 |
62 | 3) No Modified Version of the Font Software may use the Reserved Font
63 | Name(s) unless explicit written permission is granted by the
64 | corresponding Copyright Holder. This restriction only applies to the
65 | primary font name as presented to the users.
66 |
67 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
68 | Software shall not be used to promote, endorse or advertise any
69 | Modified Version, except to acknowledge the contribution(s) of the
70 | Copyright Holder(s) and the Author(s) or with their explicit written
71 | permission.
72 |
73 | 5) The Font Software, modified or unmodified, in part or in whole,
74 | must be distributed entirely under this license, and must not be
75 | distributed under any other license. The requirement for fonts to
76 | remain under this license does not apply to any document created using
77 | the Font Software.
78 |
79 | TERMINATION
80 | This license becomes null and void if any of the above conditions are
81 | not met.
82 |
83 | DISCLAIMER
84 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
85 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
86 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
87 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
88 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
89 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
90 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
91 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
92 | OTHER DEALINGS IN THE FONT SOFTWARE.
93 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/noto-cjk/NotoSansCJK-Regular.ttc.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/noto-cjk/NotoSansCJK-Regular.ttc.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/noto-cjk/NotoSansJP-Regular.otf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/noto-cjk/NotoSansJP-Regular.otf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/noto-emoji/NotoColorEmoji.ttf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/noto-emoji/NotoColorEmoji.ttf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/font/noto-emoji/NotoEmoji-Regular.ttf.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/font/noto-emoji/NotoEmoji-Regular.ttf.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/apply_srgb_curve.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/apply_srgb_curve.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/bitmapfont.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/bitmapfont.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/copy.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/copy.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/forward3d.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/forward3d.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/forward3d.vs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/forward3d.vs
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/fullscreen_triangle.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/fullscreen_triangle.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/fullscreen_triangle.vs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/fullscreen_triangle.vs
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/gaussian_blur_9.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/gaussian_blur_9.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/line3d.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/line3d.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/line3d.vs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/line3d.vs
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/msdffont.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/msdffont.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/msdffont_outline.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/msdffont_outline.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/msdffont_outlineshadow.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/msdffont_outlineshadow.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/msdffont_shadow.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/msdffont_shadow.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/msdfprint.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/msdfprint.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/round_dot.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/round_dot.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/sdffont.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/sdffont.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/sdffont_outline.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/sdffont_outline.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/sdffont_outlineshadow.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/sdffont_outlineshadow.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/sdffont_shadow.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/sdffont_shadow.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/shape.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/shape.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/sky.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/sky.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/sprite.vs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/sprite.vs
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/square_dot.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/square_dot.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/d3d11/texture.ps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/shader/d3d11/texture.ps
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/apply_srgb_curve.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Functions
25 | //
26 |
27 | //
28 | // https://github.com/microsoft/DirectX-Graphics-Samples/blob/master/MiniEngine/Core/Shaders/ColorSpaceUtility.hlsli
29 | //
30 | // Copyright(c) 2015 Microsoft
31 | //
32 | // Permission is hereby granted, free of charge, to any person obtaining a copy
33 | // of this software and associated documentation files(the "Software"), to deal
34 | // in the Software without restriction, including without limitation the rights
35 | // to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
36 | // copies of the Software, and to permit persons to whom the Software is
37 | // furnished to do so, subject to the following conditions :
38 | //
39 | // The above copyright notice and this permission notice shall be included in
40 | // all copies or substantial portions of the Software.
41 | //
42 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
43 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
44 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
45 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
47 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
48 | // THE SOFTWARE.
49 | float ApplySRGBCurve_Fast(float x)
50 | {
51 | return x < 0.0031308f ? 12.92f * x : 1.13005f * sqrt(x - 0.00228f) - 0.13448f * x + 0.005719f;
52 | }
53 |
54 | float ApplySRGBCurve(float x)
55 | {
56 | return x < 0.0031308f ? 12.92f * x : 1.055f * pow(x, 1.0f / 2.4f) - 0.055f;
57 | }
58 |
59 | vec3 ApplySRGBCurve0(vec3 color)
60 | {
61 | return pow(color, vec3(1.0f / 2.2f));
62 | }
63 |
64 | vec3 ApplySRGBCurve1(vec3 color)
65 | {
66 | float r = ApplySRGBCurve_Fast(color.r);
67 | float g = ApplySRGBCurve_Fast(color.g);
68 | float b = ApplySRGBCurve_Fast(color.b);
69 | return vec3(r, g, b);
70 | }
71 |
72 | vec3 ApplySRGBCurve2(vec3 color)
73 | {
74 | float r = ApplySRGBCurve(color.r);
75 | float g = ApplySRGBCurve(color.g);
76 | float b = ApplySRGBCurve(color.b);
77 | return vec3(r, g, b);
78 | }
79 |
80 | void main()
81 | {
82 | vec3 texColor = texture(Texture0, UV).rgb;
83 |
84 | FragColor = vec4(ApplySRGBCurve2(texColor), 1.0f);
85 | }
86 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/bitmapfont.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | void main()
39 | {
40 | float textAlpha = texture(Texture0, UV).a;
41 |
42 | vec4 color = vec4(Color.rgb, Color.a * textAlpha);
43 |
44 | FragColor = (color + g_colorAdd);
45 | }
46 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/copy.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | void main()
39 | {
40 | vec4 texColor = texture(Texture0, UV);
41 |
42 | FragColor = texColor;
43 | }
44 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/forward3d.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec3 WorldPosition;
16 | layout(location = 1) in vec2 UV;
17 | layout(location = 2) in vec3 Normal;
18 |
19 | //
20 | // PSOutput
21 | //
22 | layout(location = 0) out vec4 FragColor;
23 |
24 | //
25 | // Constant Buffer
26 | //
27 | layout(std140) uniform PSPerFrame
28 | {
29 | vec3 g_gloablAmbientColor;
30 | vec3 g_sunColor;
31 | vec3 g_sunDirection;
32 | };
33 |
34 | layout(std140) uniform PSPerView
35 | {
36 | vec3 g_eyePosition;
37 | };
38 |
39 | layout(std140) uniform PSPerMaterial
40 | {
41 | vec3 g_amibientColor;
42 | uint g_hasTexture;
43 | vec4 g_diffuseColor;
44 | vec3 g_specularColor;
45 | float g_shininess;
46 | vec3 g_emissionColor;
47 | };
48 |
49 | //
50 | // Functions
51 | //
52 | vec4 GetDiffuseColor(vec2 uv)
53 | {
54 | vec4 diffuseColor = g_diffuseColor;
55 |
56 | if (g_hasTexture == 1)
57 | {
58 | diffuseColor *= texture(Texture0, uv);
59 | }
60 |
61 | return diffuseColor;
62 | }
63 |
64 | vec3 CalculateDiffuseReflection(vec3 n, vec3 l, vec3 lightColor, vec3 diffuseColor, vec3 ambientColor)
65 | {
66 | vec3 directColor = lightColor * max(dot(n, l), 0.0f);
67 | return ((ambientColor + directColor) * diffuseColor);
68 | }
69 |
70 | vec3 CalculateSpecularReflection(vec3 n, vec3 h, float shininess, float nl, vec3 lightColor, vec3 specularColor)
71 | {
72 | float highlight = pow(max(dot(n, h), 0.0f), shininess) * float(0.0f < nl);
73 | return (lightColor * specularColor * highlight);
74 | }
75 |
76 | void main()
77 | {
78 | vec3 lightColor = g_sunColor;
79 | vec3 lightDirection = g_sunDirection;
80 |
81 | vec3 n = normalize(Normal);
82 | vec3 l = lightDirection;
83 | vec4 diffuseColor = GetDiffuseColor(UV);
84 | vec3 ambientColor = (g_amibientColor * g_gloablAmbientColor);
85 |
86 | // Diffuse
87 | vec3 diffuseReflection = CalculateDiffuseReflection(n, l, lightColor, diffuseColor.rgb, ambientColor);
88 |
89 | // Specular
90 | vec3 v = normalize(g_eyePosition - WorldPosition);
91 | vec3 h = normalize(v + lightDirection);
92 | vec3 specularReflection = CalculateSpecularReflection(n, h, g_shininess, dot(n, l), lightColor, g_specularColor);
93 |
94 | FragColor = vec4(diffuseReflection + specularReflection + g_emissionColor, diffuseColor.a);
95 | }
96 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/forward3d.vert:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // VSInput
9 | //
10 | layout(location = 0) in vec4 VertexPosition;
11 | layout(location = 1) in vec3 VertexNormal;
12 | layout(location = 2) in vec2 VertexUV;
13 |
14 | //
15 | // VSOutput
16 | //
17 | layout(location = 0) out vec3 WorldPosition;
18 | layout(location = 1) out vec2 UV;
19 | layout(location = 2) out vec3 Normal;
20 | out gl_PerVertex
21 | {
22 | vec4 gl_Position;
23 | };
24 |
25 | //
26 | // Constant Buffer
27 | //
28 | layout(std140) uniform VSPerView
29 | {
30 | mat4x4 g_worldToProjected;
31 | };
32 |
33 | layout(std140) uniform VSPerObject
34 | {
35 | mat4x4 g_localToWorld;
36 | };
37 |
38 | layout(std140) uniform VSPerMaterial
39 | {
40 | vec4 g_uvTransform;
41 | };
42 |
43 | //
44 | // Functions
45 | //
46 | void main()
47 | {
48 | vec4 worldPosition = VertexPosition * g_localToWorld;
49 |
50 | gl_Position = worldPosition * g_worldToProjected;
51 | WorldPosition = worldPosition.xyz;
52 | UV = (VertexUV * g_uvTransform.xy + g_uvTransform.zw);
53 | Normal = VertexNormal * mat3x3(g_localToWorld);
54 | }
55 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/fullscreen_triangle.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec2 UV;
16 |
17 | //
18 | // PSOutput
19 | //
20 | layout(location = 0) out vec4 FragColor;
21 |
22 | //
23 | // Functions
24 | //
25 | void main()
26 | {
27 | FragColor = texture(Texture0, UV);
28 | }
29 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/fullscreen_triangle.vert:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // VSOutput
9 | //
10 | layout(location = 0) out vec2 UV;
11 | out gl_PerVertex
12 | {
13 | vec4 gl_Position;
14 | };
15 |
16 | //
17 | // Functions
18 | //
19 | void main()
20 | {
21 | float x = -1.0 + float((gl_VertexID & 1) << 2);
22 | float y = -1.0 + float((gl_VertexID & 2) << 1);
23 | gl_Position = vec4(x, y, 0, 1);
24 |
25 | UV.x = (x + 1.0) * 0.5;
26 | UV.y = (-y + 1.0) * 0.5;
27 | }
28 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/gaussian_blur_9.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec2 g_pixelSize;
33 | vec2 g_direction;
34 | };
35 |
36 | //
37 | // Functions
38 | //
39 | void main()
40 | {
41 | //
42 | // http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
43 | //
44 | vec2 offset1 = 1.38461538461538 * g_direction;
45 | vec2 offset2 = 3.23076923076923 * g_direction;
46 |
47 | vec4 color = texture(Texture0, UV) * 0.227027027027027;
48 | color += texture(Texture0, UV + (offset1 * g_pixelSize)) * 0.316216216216216;
49 | color += texture(Texture0, UV - (offset1 * g_pixelSize)) * 0.316216216216216;
50 | color += texture(Texture0, UV + (offset2 * g_pixelSize)) * 0.070270270270270;
51 | color += texture(Texture0, UV - (offset2 * g_pixelSize)) * 0.070270270270270;
52 |
53 | FragColor = color;
54 | }
55 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/line3d.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // PSInput
9 | //
10 | layout(location = 0) in vec3 WorldPosition;
11 | layout(location = 1) in vec4 Color;
12 |
13 | //
14 | // PSOutput
15 | //
16 | layout(location = 0) out vec4 FragColor;
17 |
18 | //
19 | // Functions
20 | //
21 | void main()
22 | {
23 | FragColor = Color;
24 | }
25 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/line3d.vert:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // VSInput
9 | //
10 | layout(location = 0) in vec4 VertexPosition;
11 | layout(location = 1) in vec4 VertexColor;
12 |
13 | //
14 | // VSOutput
15 | //
16 | layout(location = 0) out vec3 WorldPosition;
17 | layout(location = 1) out vec4 Color;
18 | out gl_PerVertex
19 | {
20 | vec4 gl_Position;
21 | };
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform VSPerView
27 | {
28 | mat4x4 g_worldToProjected;
29 | };
30 |
31 | layout(std140) uniform VSPerObject
32 | {
33 | mat4x4 g_localToWorld;
34 | };
35 |
36 | //
37 | // Functions
38 | //
39 | void main()
40 | {
41 | vec4 worldPosition = VertexPosition * g_localToWorld;
42 |
43 | gl_Position = worldPosition * g_worldToProjected;
44 | WorldPosition = worldPosition.xyz;
45 | Color = VertexColor;
46 | }
47 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/msdffont.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | float median(float r, float g, float b)
39 | {
40 | return max(min(r, g), min(max(r, g), b));
41 | }
42 |
43 | void main()
44 | {
45 | vec2 size = textureSize(Texture0, 0);
46 | const float pxRange = 4.0;
47 | vec2 msdfUnit = (pxRange / size);
48 |
49 | vec3 s = texture(Texture0, UV).rgb;
50 | float d = median(s.r, s.g, s.b);
51 |
52 | float td = (d - 0.5);
53 | float textAlpha = clamp(td * dot(msdfUnit, 0.5 / fwidth(UV)) + 0.5, 0.0, 1.0);
54 |
55 | vec4 color = vec4(Color.rgb, Color.a * textAlpha);
56 |
57 | FragColor = (color + g_colorAdd);
58 | }
59 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/msdffont_outline.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | float median(float r, float g, float b)
39 | {
40 | return max(min(r, g), min(max(r, g), b));
41 | }
42 |
43 | void main()
44 | {
45 | vec2 size = textureSize(Texture0, 0);
46 | const float pxRange = 4.0;
47 | vec2 msdfUnit = (pxRange / size);
48 |
49 | vec3 s = texture(Texture0, UV).rgb;
50 | float d = median(s.r, s.g, s.b);
51 |
52 | float od = (d - g_sdfParam.y);
53 | float outlineAlpha = clamp(od * dot(msdfUnit, 0.5 / fwidth(UV)) + 0.5, 0.0, 1.0);
54 |
55 | float td = (d - g_sdfParam.x);
56 | float textAlpha = clamp(td * dot(msdfUnit, 0.5 / fwidth(UV)) + 0.5, 0.0, 1.0);
57 |
58 | float baseAlpha = (outlineAlpha - textAlpha);
59 |
60 | vec4 color;
61 | color.rgb = mix(g_sdfOutlineColor.rgb, Color.rgb, textAlpha);
62 | color.a = baseAlpha * g_sdfOutlineColor.a + textAlpha * Color.a;
63 |
64 | FragColor = (color + g_colorAdd);
65 | }
66 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/msdffont_outlineshadow.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | float median(float r, float g, float b)
39 | {
40 | return max(min(r, g), min(max(r, g), b));
41 | }
42 |
43 | void main()
44 | {
45 | vec2 size = textureSize(Texture0, 0);
46 | const float pxRange = 4.0;
47 | vec2 msdfUnit = (pxRange / size);
48 |
49 | vec3 s = texture(Texture0, UV).rgb;
50 | float d = median(s.r, s.g, s.b);
51 |
52 | float od = (d - g_sdfParam.y);
53 | float outlineAlpha = clamp(od * dot(msdfUnit, 0.5 / fwidth(UV)) + 0.5, 0.0, 1.0);
54 |
55 | float td = (d - g_sdfParam.x);
56 | float textAlpha = clamp(td * dot(msdfUnit, 0.5 / fwidth(UV)) + 0.5, 0.0, 1.0);
57 |
58 | float baseAlpha = (outlineAlpha - textAlpha);
59 |
60 | vec4 textColor;
61 | textColor.rgb = mix(g_sdfOutlineColor.rgb, Color.rgb, textAlpha);
62 | textColor.a = baseAlpha * g_sdfOutlineColor.a + textAlpha * Color.a;
63 |
64 |
65 | vec2 shadowOffset = (g_sdfParam.zw / size);
66 | vec3 s2 = texture(Texture0, UV - shadowOffset).rgb;
67 | float d2 = median(s2.r, s2.g, s2.b);
68 |
69 | float sd = (d2 - 0.5);
70 | float shadowAlpha = clamp(sd * dot(msdfUnit, 0.5 / fwidth(UV)) + 0.5, 0.0, 1.0);
71 | float sBase = shadowAlpha * (1.0 - textColor.a);
72 |
73 | vec4 color;
74 | if (textColor.a == 0.0)
75 | {
76 | color.rgb = g_sdfShadowColor.rgb;
77 | }
78 | else
79 | {
80 | color.rgb = mix(textColor.rgb, g_sdfShadowColor.rgb, sBase);
81 | }
82 | color.a = (sBase * g_sdfShadowColor.a) + textColor.a;
83 |
84 | FragColor = (color + g_colorAdd);
85 | }
86 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/msdffont_shadow.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | float median(float r, float g, float b)
39 | {
40 | return max(min(r, g), min(max(r, g), b));
41 | }
42 |
43 | void main()
44 | {
45 | vec2 size = textureSize(Texture0, 0);
46 | const float pxRange = 4.0;
47 | vec2 msdfUnit = (pxRange / size);
48 |
49 | vec3 s = texture(Texture0, UV).rgb;
50 | float d = median(s.r, s.g, s.b);
51 |
52 | float td = (d - 0.5);
53 | float textAlpha = clamp(td * dot(msdfUnit, 0.5 / fwidth(UV)) + 0.5, 0.0, 1.0);
54 |
55 | vec2 shadowOffset = (g_sdfParam.zw / size);
56 | vec3 s2 = texture(Texture0, UV - shadowOffset).rgb;
57 | float d2 = median(s2.r, s2.g, s2.b);
58 |
59 | float sd = (d2 - 0.5);
60 | float shadowAlpha = clamp(sd * dot(msdfUnit, 0.5 / fwidth(UV)) + 0.5, 0.0, 1.0);
61 | float sBase = shadowAlpha * (1.0 - textAlpha);
62 |
63 | vec4 color;
64 | if (textAlpha == 0.0)
65 | {
66 | color.rgb = g_sdfShadowColor.rgb;
67 | }
68 | else
69 | {
70 | color.rgb = mix(Color.rgb, g_sdfShadowColor.rgb, sBase);
71 | }
72 | color.a = (sBase * g_sdfShadowColor.a) + (textAlpha * Color.a);
73 |
74 | FragColor = (color + g_colorAdd);
75 | }
76 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/msdfprint.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | float median(float r, float g, float b)
39 | {
40 | return max(min(r, g), min(max(r, g), b));
41 | }
42 |
43 | void main()
44 | {
45 | vec2 size = textureSize(Texture0, 0);
46 | const float pxRange = 4.0;
47 | vec2 msdfUnit = (pxRange / size);
48 |
49 | vec3 s = texture(Texture0, UV).rgb;
50 | float d = median(s.r, s.g, s.b);
51 |
52 | float td = (d - 0.5);
53 | float textAlpha = sqrt(clamp(td * dot(msdfUnit, 0.5 / fwidth(UV)) + 0.5, 0.0, 1.0));
54 |
55 | vec2 shadowOffset = vec2(0.875, 0.875) / size;
56 | vec3 s2 = texture(Texture0, UV - shadowOffset).rgb;
57 | float d2 = median(s2.r, s2.g, s2.b);
58 | float sd = (d2 - 0.5);
59 | float shadowAlpha = sqrt(clamp(sd * dot(msdfUnit, 0.5 / fwidth(UV)) + 0.5, 0.0, 1.0));
60 |
61 | FragColor = vec4(textAlpha, textAlpha, textAlpha, max(textAlpha, shadowAlpha));
62 | }
63 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/round_dot.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // PSInput
9 | //
10 | layout(location = 0) in vec4 Color;
11 | layout(location = 1) in vec2 UV;
12 |
13 | //
14 | // PSOutput
15 | //
16 | layout(location = 0) out vec4 FragColor;
17 |
18 | //
19 | // Constant Buffer
20 | //
21 | layout(std140) uniform PSConstants2D
22 | {
23 | vec4 g_colorAdd;
24 | vec4 g_sdfParam;
25 | vec4 g_sdfOutlineColor;
26 | vec4 g_sdfShadowColor;
27 | vec4 g_internal;
28 | };
29 |
30 | //
31 | // Functions
32 | //
33 | void main()
34 | {
35 | float t = mod(UV.x, 2.0);
36 | vec2 tex = UV;
37 | tex.x = abs(1 - t) * 2.0;
38 | vec4 color = Color;
39 |
40 | float dist = dot(tex, tex) * 0.5;
41 | float delta = fwidth(dist);
42 | float alpha = smoothstep(0.5 - delta, 0.5, dist);
43 | color.a *= 1.0 - alpha;
44 |
45 | FragColor = (color + g_colorAdd);
46 | }
47 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/sdffont.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | void main()
39 | {
40 | float d = texture(Texture0, UV).a;
41 |
42 | float td = (d - 0.5);
43 | float textAlpha = clamp(td / fwidth(td) + 0.5, 0.0, 1.0);
44 |
45 | vec4 color = vec4(Color.rgb, Color.a * textAlpha);
46 |
47 | FragColor = (color + g_colorAdd);
48 | }
49 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/sdffont_outline.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | void main()
39 | {
40 | float d = texture(Texture0, UV).a;
41 |
42 | float od = (d - g_sdfParam.y);
43 | float outlineAlpha = clamp(od / fwidth(od) + 0.5, 0.0, 1.0);
44 |
45 | float td = (d - g_sdfParam.x);
46 | float textAlpha = clamp(td / fwidth(td) + 0.5, 0.0, 1.0);
47 |
48 | float baseAlpha = (outlineAlpha - textAlpha);
49 |
50 | vec4 color;
51 | color.rgb = mix(g_sdfOutlineColor.rgb, Color.rgb, textAlpha);
52 | color.a = baseAlpha * g_sdfOutlineColor.a + textAlpha * Color.a;
53 |
54 | FragColor = (color + g_colorAdd);
55 | }
56 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/sdffont_outlineshadow.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | void main()
39 | {
40 | float d = texture(Texture0, UV).a;
41 |
42 | float od = (d - g_sdfParam.y);
43 | float outlineAlpha = clamp(od / fwidth(od) + 0.5, 0.0, 1.0);
44 |
45 | float td = (d - g_sdfParam.x);
46 | float textAlpha = clamp(td / fwidth(td) + 0.5, 0.0, 1.0);
47 |
48 | float baseAlpha = (outlineAlpha - textAlpha);
49 |
50 | vec4 textColor;
51 | textColor.rgb = mix(g_sdfOutlineColor.rgb, Color.rgb, textAlpha);
52 | textColor.a = baseAlpha * g_sdfOutlineColor.a + textAlpha * Color.a;
53 |
54 |
55 | vec2 size = textureSize(Texture0, 0);
56 | vec2 shadowOffset = (g_sdfParam.zw / size);
57 | float d2 = texture(Texture0, UV - shadowOffset).a;
58 |
59 | float sd = (d2 - g_sdfParam.y);
60 | float shadowAlpha = clamp(sd / fwidth(sd) + 0.5, 0.0, 1.0);
61 | float sBase = shadowAlpha * (1.0 - textColor.a);
62 |
63 | vec4 color;
64 | if (textColor.a == 0.0)
65 | {
66 | color.rgb = g_sdfShadowColor.rgb;
67 | }
68 | else
69 | {
70 | color.rgb = mix(textColor.rgb, g_sdfShadowColor.rgb, sBase);
71 | }
72 | color.a = (sBase * g_sdfShadowColor.a) + textColor.a;
73 |
74 | FragColor = (color + g_colorAdd);
75 | }
76 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/sdffont_shadow.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | void main()
39 | {
40 | float d = texture(Texture0, UV).a;
41 |
42 | float td = (d - 0.5);
43 | float textAlpha = clamp(td / fwidth(td) + 0.5, 0.0, 1.0);
44 |
45 | vec2 size = textureSize(Texture0, 0);
46 | vec2 shadowOffset = (g_sdfParam.zw / size);
47 | float d2 = texture(Texture0, UV - shadowOffset).a;
48 |
49 | float sd = (d2 - 0.5);
50 | float shadowAlpha = clamp(sd / fwidth(sd) + 0.5, 0.0, 1.0);
51 | float sBase = shadowAlpha * (1.0 - textAlpha);
52 |
53 | vec4 color;
54 | if (textAlpha == 0.0)
55 | {
56 | color.rgb = g_sdfShadowColor.rgb;
57 | }
58 | else
59 | {
60 | color.rgb = mix(Color.rgb, g_sdfShadowColor.rgb, sBase);
61 | }
62 | color.a = (sBase * g_sdfShadowColor.a) + (textAlpha * Color.a);
63 |
64 | FragColor = (color + g_colorAdd);
65 | }
66 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/shape.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // PSInput
9 | //
10 | layout(location = 0) in vec4 Color;
11 |
12 | //
13 | // PSOutput
14 | //
15 | layout(location = 0) out vec4 FragColor;
16 |
17 | //
18 | // Constant Buffer
19 | //
20 | layout(std140) uniform PSConstants2D
21 | {
22 | vec4 g_colorAdd;
23 | vec4 g_sdfParam;
24 | vec4 g_sdfOutlineColor;
25 | vec4 g_sdfShadowColor;
26 | vec4 g_internal;
27 | };
28 |
29 | //
30 | // Functions
31 | //
32 | void main()
33 | {
34 | FragColor = (Color + g_colorAdd);
35 | }
36 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/sprite.vert:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // VSInput
9 | //
10 | layout(location = 0) in vec2 VertexPosition;
11 | layout(location = 1) in vec2 VertexUV;
12 | layout(location = 2) in vec4 VertexColor;
13 |
14 | //
15 | // VSOutput
16 | //
17 | layout(location = 0) out vec4 Color;
18 | layout(location = 1) out vec2 UV;
19 | out gl_PerVertex
20 | {
21 | vec4 gl_Position;
22 | };
23 |
24 | //
25 | // Siv3D Functions
26 | //
27 | vec4 s3d_Transform2D(const vec2 pos, const vec4 t[2])
28 | {
29 | return vec4(t[0].zw + (pos.x * t[0].xy) + (pos.y * t[1].xy), t[1].zw);
30 | }
31 |
32 | //
33 | // Constant Buffer
34 | //
35 | layout(std140) uniform VSConstants2D
36 | {
37 | vec4 g_transform[2];
38 | vec4 g_colorMul;
39 | };
40 |
41 | //
42 | // Functions
43 | //
44 | void main()
45 | {
46 | gl_Position = s3d_Transform2D(VertexPosition, g_transform);
47 |
48 | Color = (VertexColor * g_colorMul);
49 |
50 | UV = VertexUV;
51 | }
52 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/square_dot.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // PSInput
9 | //
10 | layout(location = 0) in vec4 Color;
11 | layout(location = 1) in vec2 UV;
12 |
13 | //
14 | // PSOutput
15 | //
16 | layout(location = 0) out vec4 FragColor;
17 |
18 | //
19 | // Constant Buffer
20 | //
21 | layout(std140) uniform PSConstants2D
22 | {
23 | vec4 g_colorAdd;
24 | vec4 g_sdfParam;
25 | vec4 g_sdfOutlineColor;
26 | vec4 g_sdfShadowColor;
27 | vec4 g_internal;
28 | };
29 |
30 | //
31 | // Functions
32 | //
33 | void main()
34 | {
35 | float tr = UV.y;
36 | float d = abs(mod(UV.x, 3.0) - 1.0);
37 | float range = 1.0 - tr;
38 | vec4 color = Color;
39 | color.a *= (d < range) ? 1.0 : (d < 1.0) ? ((1.0 - d) / tr) : 0.0;
40 |
41 | FragColor = (color + g_colorAdd);
42 | }
43 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/shader/glsl/texture.frag:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2022 Ryo Suzuki.
2 | // Copyright (c) 2016-2022 OpenSiv3D Project.
3 | // Licensed under the MIT License.
4 |
5 | # version 410
6 |
7 | //
8 | // Textures
9 | //
10 | uniform sampler2D Texture0;
11 |
12 | //
13 | // PSInput
14 | //
15 | layout(location = 0) in vec4 Color;
16 | layout(location = 1) in vec2 UV;
17 |
18 | //
19 | // PSOutput
20 | //
21 | layout(location = 0) out vec4 FragColor;
22 |
23 | //
24 | // Constant Buffer
25 | //
26 | layout(std140) uniform PSConstants2D
27 | {
28 | vec4 g_colorAdd;
29 | vec4 g_sdfParam;
30 | vec4 g_sdfOutlineColor;
31 | vec4 g_sdfShadowColor;
32 | vec4 g_internal;
33 | };
34 |
35 | //
36 | // Functions
37 | //
38 | void main()
39 | {
40 | vec4 texColor = texture(Texture0, UV);
41 |
42 | FragColor = ((texColor * Color) + g_colorAdd);
43 | }
44 |
--------------------------------------------------------------------------------
/Visualizer/App/engine/soundfont/GMGSx.sf2.txt:
--------------------------------------------------------------------------------
1 | GMGSx.sf2 is soundfont created by Kenneth Rundt author of Synthfont.
2 | It is public domain licensed and has similar sound output as gm.dls or Roland gs.sf2.
3 | It can be obtained in Synthfont 2 installation folder.
--------------------------------------------------------------------------------
/Visualizer/App/engine/soundfont/GMGSx.sf2.zstdcmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/soundfont/GMGSx.sf2.zstdcmp
--------------------------------------------------------------------------------
/Visualizer/App/engine/texture/box-shadow/128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/texture/box-shadow/128.png
--------------------------------------------------------------------------------
/Visualizer/App/engine/texture/box-shadow/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/texture/box-shadow/16.png
--------------------------------------------------------------------------------
/Visualizer/App/engine/texture/box-shadow/256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/texture/box-shadow/256.png
--------------------------------------------------------------------------------
/Visualizer/App/engine/texture/box-shadow/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/texture/box-shadow/32.png
--------------------------------------------------------------------------------
/Visualizer/App/engine/texture/box-shadow/64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/texture/box-shadow/64.png
--------------------------------------------------------------------------------
/Visualizer/App/engine/texture/box-shadow/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/engine/texture/box-shadow/8.png
--------------------------------------------------------------------------------
/Visualizer/App/example/LICENSE.txt:
--------------------------------------------------------------------------------
1 | - siv3d-kun.png
2 | (c) 2015-2021 Siv3D, licensed under a CC BY-NC: http://creativecommons.org/licenses/by-nc/4.0/
3 |
4 | - windmill.png
5 | To the extent possible under law, Siv3D has waived all copyright and related or neighboring rights to windmill.png. This work is published from: Japan.
6 |
7 | - bay.jpg
8 | To the extent possible under law, Siv3D has waived all copyright and related or neighboring rights to bay.jpg. This work is published from: Japan.
9 |
--------------------------------------------------------------------------------
/Visualizer/App/example/bay.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/example/bay.jpg
--------------------------------------------------------------------------------
/Visualizer/App/example/csv/config.csv:
--------------------------------------------------------------------------------
1 | Name,Value
2 | Window.title,"My application"
3 | Window.width,800
4 | Window.height,600
5 | Window.sizable,false
6 | Scene.background,"(0.8, 0.9, 1.0)"
7 | Array.values,"11, 22, 33, 44, 55"
8 | Items.count,3
9 | Item.label,"Forest"
10 | Item.pos,"(100, 100)"
11 | Item.label,"Ocean"
12 | Item.pos,"(300, 200)"
13 | Item.label,"Mountain"
14 | Item.pos,"(500, 100)"
15 |
--------------------------------------------------------------------------------
/Visualizer/App/example/font/DotGothic16/DotGothic16-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/example/font/DotGothic16/DotGothic16-Regular.ttf
--------------------------------------------------------------------------------
/Visualizer/App/example/font/DotGothic16/README-JP.md:
--------------------------------------------------------------------------------
1 | [English](https://github.com/fontworks-fonts/DotGothic16) /[日本語](README-JP.md)
2 |
3 | 
4 |
5 | ## ドットゴシック16-Regular
6 |
7 | 昔のドット文字のゲーム画面や、携帯、パソコン画面の雰囲気を印刷物で表現できる書体です。ドット文字ながらも16×16のゴシック体のビットマップをベースに開発された書体なので、可読性が高いことが特徴です。 近年のドット絵人気も相まって、需要がますます高まっています。
8 | このフォントについての詳しい情報は[こちら](https://fontworks.co.jp/fontsearch/dotgothic16std-m/)をご覧ください。
9 |
10 |
11 | ### フォントのダウンロード
12 |
13 | 以下のページより、ビルド済みのTrueTypeフォントをダウンロードできます。
14 |
15 | [最終リリース](https://github.com/fontworks-fonts/DotGothic16/tree/master/fonts/ttf)
16 |
17 |
18 | ### ソースからのフォントのビルド手順
19 |
20 | #### 要件
21 |
22 | * [python3](https://www.python.org/)
23 | * [fontmake](https://github.com/googlefonts/fontmake/)
24 | * [fonttools](https://github.com/fonttools/fonttools/)
25 | * [ttfautohint](https://www.freetype.org/ttfautohint/doc/ttfautohint.html)
26 |
27 |
28 | #### フォントのビルド
29 |
30 | ワーキングディレクトリ(カレントディレクトリ)を「DotGothic16」フォルダへ変更し、**build.py**を実行します。
31 |
32 | $ python build.py
33 |
34 |
35 | ### ライセンス
36 |
37 | * 個人利用・商用利用にかかわらずどなたでも無料でお使いいただけます。
38 | * ゲームやアプリなどへの組み込みやwebフォントとしての利用も可能です。
39 | * このフォントを使用し、派生フォントを作ることもできます。ただし、配布の際はSIL Open Font Licenseに基づいてリリースする必要があります。
40 | * SILライセンスについて詳しくは[SIL Open Font License 1.1 日本語訳](https://licenses.opensource.jp/OFL-1.1/OFL-1.1.html)または同梱の「OFL.txt」(英語)をご確認ください。
41 |
42 |
43 | ### 収録文字
44 |
45 | * [Adobe-Japan1-3](https://github.com/adobe-type-tools/Adobe-Japan1)の全グリフ
46 | * [GF Latin Core](https://github.com/googlefonts/gftools/tree/master/Lib/gftools/encodings/GF%20Glyph%20Sets#gf-latin-core)
47 |
48 |
49 | ### 禁止行為
50 |
51 | * 「SIL Open Font License Version 1.1」以外のライセンスで再配布すること。
52 | * フォントファイル自体を単体で販売すること。
53 |
--------------------------------------------------------------------------------
/Visualizer/App/example/font/DotGothic16/README.md:
--------------------------------------------------------------------------------
1 | [English](https://github.com/fontworks-fonts/DotGothic16) /[日本語](README-JP.md)
2 |
3 | 
4 |
5 | ## DotGothic16-Regular
6 |
7 | Dotgothic 16 is based on the old 16x16 Gothic bitmap font that can best recreate the feel of pixel fonts from old video games, cell phones and computer screens on print. With its high readability, this font has become more popular in recent years due to the growing popularity of pixel art.
8 | [Learn more](https://fontworks.co.jp/fontsearch/dotgothic16std-m/).
9 |
10 |
11 | ### Download the font
12 |
13 | You can download pre-built the TrueType font from the following page.
14 |
15 | [Latest release](https://github.com/fontworks-fonts/DotGothic16/tree/master/fonts/ttf)
16 |
17 |
18 | ### Building the font from source
19 |
20 | #### Requirements
21 |
22 | * [python3](https://www.python.org/)
23 | * [fontmake](https://github.com/googlefonts/fontmake/)
24 | * [fonttools](https://github.com/fonttools/fonttools/)
25 | * [ttfautohint](https://www.freetype.org/ttfautohint/doc/ttfautohint.html)
26 |
27 |
28 | #### Build the font
29 |
30 | Change the current working directory to 'DotGothic16' folder and run **build.py** .
31 |
32 | $ python build.py
33 |
34 |
35 | ### Licence
36 |
37 | This font is licensed under the [SIL Open Font License](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL).
38 |
39 |
40 | ### Characters
41 |
42 | * All glyphs in [Adobe-Japan1-3](https://github.com/adobe-type-tools/Adobe-Japan1)
43 | * [GF Latin Core](https://github.com/googlefonts/gftools/tree/master/Lib/gftools/encodings/GF%20Glyph%20Sets#gf-latin-core)
44 |
45 |
46 | ### Prohibited acts
47 |
48 | * Redistribute under license except 'SIL Open Font License Version 1.1'.
49 | * Selling the font file itself.
50 |
--------------------------------------------------------------------------------
/Visualizer/App/example/font/RocknRoll/README-JP.md:
--------------------------------------------------------------------------------
1 | [English](https://github.com/fontworks-fonts/RocknRoll) /[日本語](README-JP.md)
2 |
3 | 
4 |
5 | ## ロックンロール One-Regular
6 |
7 | 線の強弱が勢いを感じさせてくれる、ポップスタイルに仕上げたユニークなオリジナル書体です。ところどころ点の部分を丸くしているデザインが特徴的で、生き生きと軽快で、躍動感を持った書体です。
8 | このフォントについての詳しい情報は[こちら](https://fontworks.co.jp/fontsearch/rocknrollstd-db/)をご覧ください。
9 |
10 |
11 | ### フォントのダウンロード
12 |
13 | 以下のページより、ビルド済みのTrueTypeフォントをダウンロードできます。
14 |
15 | [最終リリース](https://github.com/fontworks-fonts/RocknRoll/tree/master/fonts/ttf)
16 |
17 |
18 | ### ソースからのフォントのビルド手順
19 |
20 | #### 要件
21 |
22 | * [python3](https://www.python.org/)
23 | * [fontmake](https://github.com/googlefonts/fontmake/)
24 | * [fonttools](https://github.com/fonttools/fonttools/)
25 | * [ttfautohint](https://www.freetype.org/ttfautohint/doc/ttfautohint.html)
26 |
27 |
28 | #### フォントのビルド
29 |
30 | ワーキングディレクトリ(カレントディレクトリ)を「RocknRoll」フォルダへ変更し、**build.py**を実行します。
31 |
32 | $ python build.py
33 |
34 |
35 | ### ライセンス
36 |
37 | * 個人利用・商用利用にかかわらずどなたでも無料でお使いいただけます。
38 | * ゲームやアプリなどへの組み込みやwebフォントとしての利用も可能です。
39 | * このフォントを使用し、派生フォントを作ることもできます。ただし、配布の際はSIL Open Font Licenseに基づいてリリースする必要があります。
40 | * SILライセンスについて詳しくは[SIL Open Font License 1.1 日本語訳](https://licenses.opensource.jp/OFL-1.1/OFL-1.1.html)または同梱の「OFL.txt」(英語)をご確認ください。
41 |
42 |
43 | ### 収録文字
44 |
45 | * [Adobe-Japan1-3](https://github.com/adobe-type-tools/Adobe-Japan1)の全グリフ
46 | * [GF Latin Core](https://github.com/googlefonts/gftools/tree/master/Lib/gftools/encodings/GF%20Glyph%20Sets#gf-latin-core)
47 |
48 |
49 | ### 禁止行為
50 |
51 | * 「SIL Open Font License Version 1.1」以外のライセンスで再配布すること。
52 | * フォントファイル自体を単体で販売すること。
53 |
--------------------------------------------------------------------------------
/Visualizer/App/example/font/RocknRoll/README.md:
--------------------------------------------------------------------------------
1 | [English](https://github.com/fontworks-fonts/RocknRoll) /[日本語](README-JP.md)
2 |
3 | 
4 |
5 | ## RocknRoll One-Regular
6 |
7 | RocknRoll is an original pop-style font. The strokes of varying intensity add momentum and the rounded dots create a lively and dynamic feel.
8 | [Learn more](https://fontworks.co.jp/fontsearch/rocknrollstd-db/).
9 |
10 |
11 | ### Download the font
12 |
13 | You can download pre-built the TrueType font from the following page.
14 |
15 | [Latest release](https://github.com/fontworks-fonts/RocknRoll/tree/master/fonts/ttf)
16 |
17 |
18 | ### Building the font from source
19 |
20 | #### Requirements
21 |
22 | * [python3](https://www.python.org/)
23 | * [fontmake](https://github.com/googlefonts/fontmake/)
24 | * [fonttools](https://github.com/fonttools/fonttools/)
25 | * [ttfautohint](https://www.freetype.org/ttfautohint/doc/ttfautohint.html)
26 |
27 |
28 | #### Build the font
29 |
30 | Change the current working directory to 'RocknRoll' folder and run **build.py** .
31 |
32 | $ python build.py
33 |
34 |
35 | ### Licence
36 |
37 | This font is licensed under the [SIL Open Font License](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL).
38 |
39 |
40 | ### Characters
41 |
42 | * All glyphs in [Adobe-Japan1-3](https://github.com/adobe-type-tools/Adobe-Japan1)
43 | * [GF Latin Core](https://github.com/googlefonts/gftools/tree/master/Lib/gftools/encodings/GF%20Glyph%20Sets#gf-latin-core)
44 |
45 |
46 | ### Prohibited acts
47 |
48 | * Redistribute under license except 'SIL Open Font License Version 1.1'.
49 | * Selling the font file itself.
50 |
--------------------------------------------------------------------------------
/Visualizer/App/example/font/RocknRoll/RocknRollOne-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/example/font/RocknRoll/RocknRollOne-Regular.ttf
--------------------------------------------------------------------------------
/Visualizer/App/example/gif/test.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/example/gif/test.gif
--------------------------------------------------------------------------------
/Visualizer/App/example/ini/config.ini:
--------------------------------------------------------------------------------
1 | [Window]
2 | title = My application
3 | width = 800
4 | height = 600
5 | sizable = false
6 |
7 | [Scene]
8 | background = (0.8, 0.9, 1.0)
9 |
10 | [Array]
11 | values = 11, 22, 33, 44, 55
12 |
13 | [Items]
14 | count = 3
15 |
16 | [Item0]
17 | label = Forest
18 | pos = (100, 100)
19 |
20 | [Item1]
21 | label = Ocean
22 | pos = (300, 200)
23 |
24 | [Item2]
25 | label = Mountain
26 | pos = (500, 100)
27 |
--------------------------------------------------------------------------------
/Visualizer/App/example/json/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "Window": {
3 | "title": "My application",
4 | "width": 800,
5 | "height": 600,
6 | "sizable": false
7 | },
8 | "Scene": {
9 | "background": "(0.8, 0.9, 1.0)"
10 | },
11 | "Array": {
12 | "values": [
13 | 11,
14 | 22,
15 | 33,
16 | 44,
17 | 55
18 | ]
19 | },
20 | "Items": [
21 | {
22 | "label": "Forest",
23 | "pos": {
24 | "x": 100,
25 | "y": 100
26 | }
27 | },
28 | {
29 | "label": "Ocean",
30 | "pos": {
31 | "x": 300,
32 | "y": 200
33 | }
34 | },
35 | {
36 | "label": "Mountain",
37 | "pos": {
38 | "x": 500,
39 | "y": 100
40 | }
41 | }
42 | ]
43 | }
44 |
--------------------------------------------------------------------------------
/Visualizer/App/example/json/empty.json:
--------------------------------------------------------------------------------
1 | {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/Visualizer/App/example/json/invalid-blank.json:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Visualizer/App/example/json/invalid-syntax.json:
--------------------------------------------------------------------------------
1 | {
2 |
--------------------------------------------------------------------------------
/Visualizer/App/example/json/test.json:
--------------------------------------------------------------------------------
1 | {
2 | "value.string": "true",
3 | "value.bool": true,
4 | "values": [
5 | 100,
6 | 200,
7 | 300
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/Visualizer/App/example/midi/test.mid:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/example/midi/test.mid
--------------------------------------------------------------------------------
/Visualizer/App/example/midi/test.txt:
--------------------------------------------------------------------------------
1 | http://www.ne.jp/asahi/music/myuu/midi/midi.htm
2 | 威風堂々 ifudoudou.mid
3 | Pomp and Circumstance, Op. 39: I. March in D Major (Allegro con molto fuoco - Trio. Largamente - Molto maestoso)
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/bark.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/example/obj/bark.jpg
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/blacksmith.mtl:
--------------------------------------------------------------------------------
1 | # Blender MTL File: 'Blacksmith.blend'
2 | # Material Count: 8
3 |
4 | newmtl Plaster
5 | Ns 96.078431
6 | Ka 1.000000 1.000000 1.000000
7 | Kd 0.343378 0.323983 0.183595
8 | Ks 0.500000 0.500000 0.500000
9 | Ke 0.000000 0.000000 0.000000
10 | Ni 1.000000
11 | d 1.000000
12 | illum 2
13 |
14 | newmtl RoofTiles_Red
15 | Ns 96.078431
16 | Ka 1.000000 1.000000 1.000000
17 | Kd 0.117847 0.021406 0.012257
18 | Ks 0.500000 0.500000 0.500000
19 | Ke 0.000000 0.000000 0.000000
20 | Ni 1.000000
21 | d 1.000000
22 | illum 2
23 |
24 | newmtl Stone_Dark
25 | Ns 96.078431
26 | Ka 1.000000 1.000000 1.000000
27 | Kd 0.123762 0.146180 0.181264
28 | Ks 0.500000 0.500000 0.500000
29 | Ke 0.000000 0.000000 0.000000
30 | Ni 1.000000
31 | d 1.000000
32 | illum 2
33 |
34 | newmtl Stone_Light
35 | Ns 96.078431
36 | Ka 1.000000 1.000000 1.000000
37 | Kd 0.177224 0.211411 0.230634
38 | Ks 0.500000 0.500000 0.500000
39 | Ke 0.000000 0.000000 0.000000
40 | Ni 1.000000
41 | d 1.000000
42 | illum 2
43 |
44 | newmtl Windows
45 | Ns 96.078431
46 | Ka 1.000000 1.000000 1.000000
47 | Kd 0.028173 0.028173 0.028173
48 | Ks 0.500000 0.500000 0.500000
49 | Ke 0.000000 0.000000 0.000000
50 | Ni 1.000000
51 | d 1.000000
52 | illum 2
53 |
54 | newmtl Wood
55 | Ns 96.078431
56 | Ka 1.000000 1.000000 1.000000
57 | Kd 0.122341 0.054783 0.019326
58 | Ks 0.500000 0.500000 0.500000
59 | Ke 0.000000 0.000000 0.000000
60 | Ni 1.000000
61 | d 1.000000
62 | illum 2
63 |
64 | newmtl Wood_Light
65 | Ns 96.078431
66 | Ka 1.000000 1.000000 1.000000
67 | Kd 0.213407 0.092240 0.031750
68 | Ks 0.500000 0.500000 0.500000
69 | Ke 0.000000 0.000000 0.000000
70 | Ni 1.000000
71 | d 1.000000
72 | illum 2
73 |
74 | newmtl Wood_Side
75 | Ns 96.078431
76 | Ka 1.000000 1.000000 1.000000
77 | Kd 0.307496 0.227094 0.099591
78 | Ks 0.500000 0.500000 0.500000
79 | Ke 0.000000 0.000000 0.000000
80 | Ni 1.000000
81 | d 1.000000
82 | illum 2
83 |
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/credit.txt:
--------------------------------------------------------------------------------
1 | [blacksmith]
2 | [crystal1]
3 | [crystal2]
4 | [crystal3]
5 | [mill]
6 | [pine]
7 | [tree]
8 | https://quaternius.com/
9 | [siv3d-kun.obj]
10 | https://github.com/itakawa/siv3dkun
11 |
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/crystal1.mtl:
--------------------------------------------------------------------------------
1 | # Blender MTL File: 'Crystal1.blend'
2 | # Material Count: 1
3 |
4 | newmtl Purple
5 | Ns 96.078431
6 | Ka 1.000000 1.000000 1.000000
7 | Kd 0.108579 0.053576 0.389513
8 | Ks 0.500000 0.500000 0.500000
9 | Ke 0.000000 0.000000 0.000000
10 | Ni 1.000000
11 | d 1.000000
12 | illum 2
13 |
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/crystal1.obj:
--------------------------------------------------------------------------------
1 | # Blender v2.79 (sub 0) OBJ File: 'Crystal1.blend'
2 | # www.blender.org
3 | mtllib crystal1.mtl
4 | o Crystal1_Cube.001
5 | v -0.109012 -0.378179 0.065416
6 | v -0.116071 -0.206853 0.127685
7 | v -0.229016 -0.255743 0.065708
8 | v -0.116071 0.206853 0.127685
9 | v -0.109012 0.378179 0.065416
10 | v -0.229016 0.255743 0.065708
11 | v -0.109012 -0.378179 -0.065416
12 | v -0.229016 -0.255743 -0.065708
13 | v -0.116071 -0.206853 -0.127685
14 | v -0.109012 0.378179 -0.065416
15 | v -0.116071 0.206853 -0.127685
16 | v -0.229016 0.255743 -0.065708
17 | v 0.109012 -0.378179 0.065416
18 | v 0.229016 -0.255743 0.065708
19 | v 0.116071 -0.206853 0.127685
20 | v 0.109012 0.378179 0.065416
21 | v 0.116071 0.206853 0.127685
22 | v 0.229016 0.255743 0.065708
23 | v 0.109012 -0.378179 -0.065416
24 | v 0.116071 -0.206853 -0.127685
25 | v 0.229016 -0.255743 -0.065708
26 | v 0.109012 0.378179 -0.065416
27 | v 0.229016 0.255743 -0.065708
28 | v 0.116071 0.206853 -0.127685
29 | vt 0.803235 0.990756
30 | vt 0.176051 0.012366
31 | vt 0.823949 0.012366
32 | vt 0.196765 0.990756
33 | vt 0.802455 0.198677
34 | vt 0.197545 0.198677
35 | vt 0.196765 0.009244
36 | vt 0.803235 0.009244
37 | vt 0.018714 0.197790
38 | vt 0.802455 0.801323
39 | vt 0.981286 0.802210
40 | vt 0.197545 0.801323
41 | vt 0.802455 0.801323
42 | vt 0.803235 0.990756
43 | vt 0.802455 0.198677
44 | vt 0.197545 0.198677
45 | vt 0.196765 0.009244
46 | vt 0.803235 0.009244
47 | vt 0.018714 0.197790
48 | vt 0.834085 0.981286
49 | vt 0.176051 0.802606
50 | vt 0.176051 0.197394
51 | vt 0.823949 0.197394
52 | vt 0.823949 0.802606
53 | vt 0.176051 0.802606
54 | vt 0.176051 0.197394
55 | vt 0.823949 0.197394
56 | vt 0.823949 0.802606
57 | vt 0.981286 0.197790
58 | vt 0.018714 0.802210
59 | vt 0.981286 0.197790
60 | vt 0.176051 0.012366
61 | vt 0.823949 0.012366
62 | vt 0.197545 0.801323
63 | vt 0.196765 0.990756
64 | vt 0.018714 0.802210
65 | vt 0.014611 0.207921
66 | vt 0.014611 0.792079
67 | vt 0.823949 0.987634
68 | vt 0.985389 0.207921
69 | vt 0.985389 0.792079
70 | vt 0.176051 0.193316
71 | vt 0.823949 0.193316
72 | vt 0.985389 0.792079
73 | vt 0.985389 0.207921
74 | vt 0.014611 0.207921
75 | vt 0.014611 0.792079
76 | vt 0.176051 0.987634
77 | vt 0.823949 0.823949
78 | vn 0.4811 0.0000 0.8767
79 | vn 0.0000 -0.3416 -0.9398
80 | vn -0.3383 -0.3337 -0.8799
81 | vn 0.3383 -0.3337 0.8799
82 | vn 0.0000 0.3416 0.9398
83 | vn 0.0000 0.3416 -0.9398
84 | vn 0.3383 0.3337 -0.8799
85 | vn -0.3383 0.3337 0.8799
86 | vn 0.0000 0.0000 1.0000
87 | vn 0.0000 0.0000 -1.0000
88 | vn -0.3383 0.3337 -0.8799
89 | vn 0.3383 0.3337 0.8799
90 | vn 0.3383 -0.3337 -0.8799
91 | vn -0.4811 0.0000 -0.8767
92 | vn 0.0000 -0.3416 0.9398
93 | vn -0.7142 -0.7000 -0.0000
94 | vn -1.0000 0.0000 0.0000
95 | vn -0.7142 0.7000 0.0000
96 | vn 0.4811 0.0000 -0.8767
97 | vn 0.7142 -0.7000 0.0000
98 | vn 0.7142 0.7000 -0.0000
99 | vn 0.0000 -1.0000 0.0000
100 | vn 1.0000 0.0000 0.0000
101 | vn -0.3383 -0.3337 0.8799
102 | vn -0.4811 0.0000 0.8767
103 | vn 0.0000 1.0000 0.0000
104 | usemtl Purple
105 | s off
106 | f 15/1/1 14/2/1 18/3/1 17/4/1
107 | f 19/5/2 7/6/2 9/7/2 20/8/2
108 | f 9/7/3 7/6/3 8/9/3
109 | f 15/1/4 13/10/4 14/11/4
110 | f 16/12/5 5/13/5 4/14/5 17/4/5
111 | f 10/15/6 22/16/6 24/17/6 11/18/6
112 | f 24/17/7 22/16/7 23/19/7
113 | f 4/14/8 5/13/8 6/20/8
114 | f 2/21/9 15/22/9 17/23/9 4/24/9
115 | f 20/25/10 9/26/10 11/27/10 24/28/10
116 | f 10/15/11 11/18/11 12/29/11
117 | f 16/12/12 17/4/12 18/30/12
118 | f 19/5/13 20/8/13 21/31/13
119 | f 9/7/14 8/32/14 12/33/14 11/18/14
120 | f 1/34/15 13/10/15 15/1/15 2/35/15
121 | f 3/36/16 8/9/16 7/6/16 1/34/16
122 | f 8/37/17 3/38/17 6/39/17 12/40/17
123 | f 5/13/18 10/15/18 12/29/18 6/41/18
124 | f 21/42/19 20/8/19 24/17/19 23/43/19
125 | f 13/10/20 19/5/20 21/31/20 14/11/20
126 | f 22/16/21 16/12/21 18/30/21 23/19/21
127 | f 7/6/22 19/5/22 13/10/22 1/34/22
128 | f 14/44/23 21/45/23 23/46/23 18/47/23
129 | f 1/34/24 2/35/24 3/36/24
130 | f 3/48/25 2/35/25 4/49/25 6/20/25
131 | f 22/16/26 10/15/26 5/13/26 16/12/26
132 |
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/crystal2.mtl:
--------------------------------------------------------------------------------
1 | # Blender MTL File: 'Crystal2.blend'
2 | # Material Count: 1
3 |
4 | newmtl Pink
5 | Ns 96.078431
6 | Ka 1.000000 1.000000 1.000000
7 | Kd 0.640000 0.055034 0.441812
8 | Ks 0.500000 0.500000 0.500000
9 | Ke 0.000000 0.000000 0.000000
10 | Ni 1.000000
11 | d 1.000000
12 | illum 2
13 |
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/crystal3.mtl:
--------------------------------------------------------------------------------
1 | # Blender MTL File: 'Crystal3.blend'
2 | # Material Count: 1
3 |
4 | newmtl Green
5 | Ns 96.078431
6 | Ka 1.000000 1.000000 1.000000
7 | Kd 0.130034 0.640000 0.164621
8 | Ks 0.500000 0.500000 0.500000
9 | Ke 0.000000 0.000000 0.000000
10 | Ni 1.000000
11 | d 1.000000
12 | illum 2
13 |
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/crystal3.obj:
--------------------------------------------------------------------------------
1 | # Blender v2.79 (sub 0) OBJ File: 'Crystal3.blend'
2 | # www.blender.org
3 | mtllib crystal3.mtl
4 | o Crystal3_Cylinder.002
5 | v -0.005935 0.382821 -0.003426
6 | v -0.075832 -0.002159 -0.141623
7 | v 0.075832 -0.002159 -0.141623
8 | v 0.160565 -0.002159 -0.005139
9 | v 0.075832 -0.002159 0.141623
10 | v -0.084734 -0.002159 0.136484
11 | v -0.160565 -0.002159 -0.005139
12 | v -0.005935 -0.382821 -0.003426
13 | vt 0.615490 0.243047
14 | vt 0.721701 0.047003
15 | vt 0.840381 0.243047
16 | vt 0.506701 0.241590
17 | vt 0.159619 0.243047
18 | vt 0.265830 0.047003
19 | vt 0.372042 0.243047
20 | vt 0.278299 0.047003
21 | vt 0.490722 0.243047
22 | vt 0.265830 0.952997
23 | vt 0.040939 0.243047
24 | vt 0.721702 0.952997
25 | vt 0.278299 0.952997
26 | vt 0.500000 0.247774
27 | vt 0.270986 0.958823
28 | vt 0.037098 0.247774
29 | vn -0.0300 -0.3503 0.9362
30 | vn -0.8305 -0.3354 0.4447
31 | vn 0.0000 -0.3413 -0.9400
32 | vn -0.8025 -0.3282 -0.4982
33 | vn 0.0000 0.3379 -0.9412
34 | vn 0.8105 -0.3524 0.4679
35 | vn -0.0300 0.3468 0.9374
36 | vn 0.7958 -0.3503 -0.4940
37 | vn -0.8316 0.3320 0.4453
38 | vn -0.8035 0.3249 -0.4988
39 | vn 0.8116 0.3489 0.4686
40 | vn 0.7968 0.3468 -0.4947
41 | usemtl Green
42 | s off
43 | f 6/1/1 8/2/1 5/3/1
44 | f 7/4/2 8/2/2 6/1/2
45 | f 3/5/3 8/6/3 2/7/3
46 | f 2/7/4 8/8/4 7/9/4
47 | f 1/10/5 3/5/5 2/7/5
48 | f 8/6/6 4/11/6 5/3/6
49 | f 1/12/7 6/1/7 5/3/7
50 | f 8/6/8 3/5/8 4/11/8
51 | f 1/13/9 7/14/9 6/1/9
52 | f 1/10/10 2/7/10 7/9/10
53 | f 1/15/11 5/3/11 4/16/11
54 | f 3/5/12 1/10/12 4/11/12
55 |
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/leaves.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/example/obj/leaves.png
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/mill.mtl:
--------------------------------------------------------------------------------
1 | # Blender MTL File: 'Mill.blend'
2 | # Material Count: 10
3 |
4 | newmtl Green
5 | Ns 96.078431
6 | Ka 1.000000 1.000000 1.000000
7 | Kd 0.066358 0.117846 0.028293
8 | Ks 0.500000 0.500000 0.500000
9 | Ke 0.000000 0.000000 0.000000
10 | Ni 1.000000
11 | d 1.000000
12 | illum 2
13 |
14 | newmtl Plaster
15 | Ns 96.078431
16 | Ka 1.000000 1.000000 1.000000
17 | Kd 0.343378 0.323983 0.183595
18 | Ks 0.500000 0.500000 0.500000
19 | Ke 0.000000 0.000000 0.000000
20 | Ni 1.000000
21 | d 1.000000
22 | illum 2
23 |
24 | newmtl RoofTiles
25 | Ns 96.078431
26 | Ka 1.000000 1.000000 1.000000
27 | Kd 0.015384 0.096705 0.117848
28 | Ks 0.500000 0.500000 0.500000
29 | Ke 0.000000 0.000000 0.000000
30 | Ni 1.000000
31 | d 1.000000
32 | illum 2
33 |
34 | newmtl Stone
35 | Ns 96.078431
36 | Ka 1.000000 1.000000 1.000000
37 | Kd 0.077633 0.081879 0.095419
38 | Ks 0.500000 0.500000 0.500000
39 | Ke 0.000000 0.000000 0.000000
40 | Ni 1.000000
41 | d 1.000000
42 | illum 2
43 |
44 | newmtl Stone_Dark
45 | Ns 96.078431
46 | Ka 1.000000 1.000000 1.000000
47 | Kd 0.123762 0.146180 0.181264
48 | Ks 0.500000 0.500000 0.500000
49 | Ke 0.000000 0.000000 0.000000
50 | Ni 1.000000
51 | d 1.000000
52 | illum 2
53 |
54 | newmtl Stone_Light
55 | Ns 96.078431
56 | Ka 1.000000 1.000000 1.000000
57 | Kd 0.177224 0.211411 0.230634
58 | Ks 0.500000 0.500000 0.500000
59 | Ke 0.000000 0.000000 0.000000
60 | Ni 1.000000
61 | d 1.000000
62 | illum 2
63 |
64 | newmtl Windows
65 | Ns 96.078431
66 | Ka 1.000000 1.000000 1.000000
67 | Kd 0.028173 0.028173 0.028173
68 | Ks 0.500000 0.500000 0.500000
69 | Ke 0.000000 0.000000 0.000000
70 | Ni 1.000000
71 | d 1.000000
72 | illum 2
73 |
74 | newmtl Wood
75 | Ns 96.078431
76 | Ka 1.000000 1.000000 1.000000
77 | Kd 0.122341 0.054783 0.019326
78 | Ks 0.500000 0.500000 0.500000
79 | Ke 0.000000 0.000000 0.000000
80 | Ni 1.000000
81 | d 1.000000
82 | illum 2
83 |
84 | newmtl Wood_Light
85 | Ns 96.078431
86 | Ka 1.000000 1.000000 1.000000
87 | Kd 0.213407 0.092240 0.031750
88 | Ks 0.500000 0.500000 0.500000
89 | Ke 0.000000 0.000000 0.000000
90 | Ni 1.000000
91 | d 1.000000
92 | illum 2
93 |
94 | newmtl Wood_Side
95 | Ns 96.078431
96 | Ka 1.000000 1.000000 1.000000
97 | Kd 0.307496 0.227094 0.099591
98 | Ks 0.500000 0.500000 0.500000
99 | Ke 0.000000 0.000000 0.000000
100 | Ni 1.000000
101 | d 1.000000
102 | illum 2
103 |
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/pine.mtl:
--------------------------------------------------------------------------------
1 | # Blender MTL File: 'Pine_4.blend'
2 | # Material Count: 2
3 |
4 | newmtl Bark
5 | Ns 96.078431
6 | Ka 1.000000 1.000000 1.000000
7 | Kd 0.640000 0.640000 0.640000
8 | Ks 0.500000 0.500000 0.500000
9 | Ke 0.000000 0.000000 0.000000
10 | Ni 1.000000
11 | d 1.000000
12 | illum 2
13 | map_Kd bark.jpg
14 |
15 | newmtl Pine_Leaves
16 | Ns 96.078431
17 | Ka 1.000000 1.000000 1.000000
18 | Kd 0.640000 0.640000 0.640000
19 | Ks 0.500000 0.500000 0.500000
20 | Ke 0.000000 0.000000 0.000000
21 | Ni 1.000000
22 | d 1.000000
23 | illum 2
24 | map_Kd pine_leaves_red.png
25 |
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/pine_leaves_red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/example/obj/pine_leaves_red.png
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/siv3d-kun-eye.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/example/obj/siv3d-kun-eye.png
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/siv3d-kun.mtl:
--------------------------------------------------------------------------------
1 | # Blender MTL File: 'Siv3DKun2.obj.blend'
2 | # Material Count: 9
3 |
4 | newmtl ClawWhite
5 | Ns 900.000000
6 | Ka 0.442509 0.442509 0.442509
7 | Kd 1.000000 1.000000 1.000000
8 | Ks 0.464922 0.464922 0.464922
9 | Ke 0.000000 0.000000 0.000000
10 | Ni 1.450000
11 | d 1.000000
12 | illum 3
13 | map_Kd siv3d-kun.png
14 |
15 | newmtl Eyes
16 | Ns 231.666285
17 | Ka 1.000000 1.000000 1.000000
18 | Kd 0.800000 0.800000 0.800000
19 | Ks 0.000000 0.000000 0.000000
20 | Ke 0.000000 0.000000 0.000000
21 | Ni 1.450000
22 | d 1.000000
23 | illum 1
24 | map_Kd siv3d-kun-eye.png
25 |
26 | newmtl HairGray
27 | Ns 205.078356
28 | Ka 1.000000 1.000000 1.000000
29 | Kd 0.266356 0.250158 0.226966
30 | Ks 0.000000 0.000000 0.000000
31 | Ke 0.000000 0.000000 0.000000
32 | Ni 0.000000
33 | d 1.000000
34 | illum 1
35 | map_Kd siv3d-kun.png
36 |
37 | newmtl HoodUrajiGray
38 | Ns 225.000000
39 | Ka 1.000000 1.000000 1.000000
40 | Kd 0.060177 0.098498 0.094167
41 | Ks 0.000000 0.000000 0.000000
42 | Ke 0.000000 0.000000 0.000000
43 | Ni 1.450000
44 | d 1.000000
45 | illum 1
46 | map_Kd siv3d-kun.png
47 |
48 | newmtl HornGray
49 | Ns 190.382293
50 | Ka 1.000000 1.000000 1.000000
51 | Kd 0.800000 0.800000 0.800000
52 | Ks 0.000000 0.000000 0.000000
53 | Ke 0.000000 0.000000 0.000000
54 | Ni 1.450000
55 | d 1.000000
56 | illum 1
57 | map_Kd siv3d-kun.png
58 |
59 | newmtl Skin
60 | Ns 157.340755
61 | Ka 1.000000 1.000000 1.000000
62 | Kd 0.800000 0.800000 0.800000
63 | Ks 0.000000 0.000000 0.000000
64 | Ke 0.000000 0.000000 0.000000
65 | Ni 0.000000
66 | d 1.000000
67 | illum 1
68 | map_Kd siv3d-kun.png
69 |
70 | newmtl SocksWhite
71 | Ns 225.000000
72 | Ka 1.000000 1.000000 1.000000
73 | Kd 0.800000 0.800000 0.800000
74 | Ks 0.000000 0.000000 0.000000
75 | Ke 0.000000 0.000000 0.000000
76 | Ni 1.450000
77 | d 1.000000
78 | illum 1
79 | map_Kd siv3d-kun.png
80 |
81 | newmtl TShirtsWhite
82 | Ns 900.000000
83 | Ka 1.000000 1.000000 1.000000
84 | Kd 0.800000 0.800000 0.800000
85 | Ks 0.000000 0.000000 0.000000
86 | Ke 0.000000 0.000000 0.000000
87 | Ni 0.000000
88 | d 1.000000
89 | illum 1
90 | map_Kd siv3d-kun.png
91 |
92 | newmtl Ware
93 | Ns 208.083117
94 | Ka 1.000000 1.000000 1.000000
95 | Kd 0.800000 0.800000 0.800000
96 | Ks 0.000000 0.000000 0.000000
97 | Ke 0.000000 0.000000 0.000000
98 | Ni 0.000000
99 | d 1.000000
100 | illum 1
101 | map_Kd siv3d-kun.png
102 |
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/siv3d-kun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/example/obj/siv3d-kun.png
--------------------------------------------------------------------------------
/Visualizer/App/example/obj/tree.mtl:
--------------------------------------------------------------------------------
1 | # Blender MTL File: 'Tree_1.blend'
2 | # Material Count: 2
3 |
4 | newmtl Bark
5 | Ns 96.078431
6 | Ka 1.000000 1.000000 1.000000
7 | Kd 0.640000 0.640000 0.640000
8 | Ks 0.500000 0.500000 0.500000
9 | Ke 0.000000 0.000000 0.000000
10 | Ni 1.000000
11 | d 1.000000
12 | illum 2
13 | map_Kd bark.jpg
14 |
15 | newmtl Tree_Leaves
16 | Ns 96.078431
17 | Ka 1.000000 1.000000 1.000000
18 | Kd 0.640000 0.640000 0.640000
19 | Ks 0.500000 0.500000 0.500000
20 | Ke 0.000000 0.000000 0.000000
21 | Ni 1.000000
22 | d 1.000000
23 | illum 2
24 | map_Kd leaves.png
25 |
--------------------------------------------------------------------------------
/Visualizer/App/example/particle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaseyNelson314/Visualizer/376912777f988bd4bdb40756c04e889c599f03f3/Visualizer/App/example/particle.png
--------------------------------------------------------------------------------
/Visualizer/App/example/script/breakout.as:
--------------------------------------------------------------------------------
1 |
2 | void Main()
3 | {
4 | const Point brickSize(40, 20);
5 |
6 | const double speed = 480.0;
7 |
8 | Vec2 ballVelocity(0, -speed);
9 |
10 | Circle ball(400, 400, 8);
11 |
12 | Array bricks;
13 | for (int32 y = 0; y < 5; ++y)
14 | {
15 | for (int32 x = 0; x < (Scene::Width() / brickSize.x); ++x)
16 | {
17 | bricks << Rect((x * brickSize.x), (60 + y * brickSize.y), brickSize);
18 | }
19 | }
20 |
21 | while (System::Update())
22 | {
23 | const Rect paddle(Arg::center(Cursor::Pos().x, 500), 60, 10);
24 |
25 | ball.moveBy(ballVelocity * Scene::DeltaTime());
26 |
27 | for (size_t i = 0; i < bricks.size(); ++i)
28 | {
29 | const Rect brick = bricks[i];
30 |
31 | if (brick.intersects(ball))
32 | {
33 | (brick.bottom().intersects(ball) || brick.top().intersects(ball)
34 | ? ballVelocity.y : ballVelocity.x) *= -1;
35 |
36 | bricks.removeAt(i);
37 | break;
38 | }
39 | }
40 |
41 | if (ball.y < 0 && ballVelocity.y < 0)
42 | {
43 | ballVelocity.y *= -1;
44 | }
45 |
46 | if ((ball.x < 0 && ballVelocity.x < 0)
47 | || (Scene::Width() < ball.x && 0 < ballVelocity.x))
48 | {
49 | ballVelocity.x *= -1;
50 | }
51 |
52 | if (0 < ballVelocity.y && paddle.intersects(ball))
53 | {
54 | ballVelocity = Vec2((ball.x - paddle.center().x) * 10, -ballVelocity.y).setLength(speed);
55 | }
56 |
57 | for (size_t i = 0; i < bricks.size(); ++i)
58 | {
59 | const Rect brick = bricks[i];
60 | brick.stretched(-1).draw(HSV(brick.y - 40));
61 | }
62 |
63 | ball.draw();
64 | paddle.draw();
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/Visualizer/App/example/script/hello.as:
--------------------------------------------------------------------------------
1 |
2 | void Main()
3 | {
4 | // Set background color to sky blue
5 | Scene::SetBackground(ColorF(0.8, 0.9, 1.0));
6 |
7 | // Create a new font
8 | const Font font(60);
9 |
10 | // Create a new emoji font
11 | const Font emojiFont(60, Typeface::ColorEmoji);
12 |
13 | // Set emojiFont as a fallback
14 | font.addFallback(emojiFont);
15 |
16 | // Create a texture from an image file
17 | Texture texture("example/windmill.png");
18 |
19 | // Create a texture from an emoji
20 | Texture emoji(_emoji("🐈"));
21 |
22 | // Coordinates of the emoji
23 | Vec2 emojiPos(300, 150);
24 |
25 | // Print a text
26 | Print << "Push [A] key";
27 |
28 | while (System::Update())
29 | {
30 | // Draw a texture
31 | texture.draw(200, 200);
32 |
33 | // Put a text in the middle of the screen
34 | font("Hello, Siv3D!🚀").drawAt(Scene::Center(), Palette::Black);
35 |
36 | // Draw a texture with animated size
37 | emoji.resized(100 + Periodic::Sine0_1(_s(1)) * 20).drawAt(emojiPos);
38 |
39 | // Draw a red transparent circle that follows the mouse cursor
40 | Circle(Cursor::Pos(), 40).draw(ColorF(1, 0, 0, 0.5));
41 |
42 | // When [A] key is down
43 | if (KeyA.down())
44 | {
45 | // Print a text message
46 | Print << "Hello!";
47 | }
48 |
49 | // When [Button] is pushed
50 | if (SimpleGUI::Button("Button", Vec2(640, 40)))
51 | {
52 | // Move the coordinates to a random position in the screen
53 | emojiPos = RandomVec2(Scene::Rect());
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Visualizer/App/example/script/paint.as:
--------------------------------------------------------------------------------
1 |
2 | void Main()
3 | {
4 | // キャンバスのサイズ
5 | const Point canvasSize(600, 600);
6 |
7 | // ペンの太さ
8 | const int32 thickness = 8;
9 |
10 | // ペンの色
11 | const Color penColor = Palette::Orange;
12 |
13 | // 書き込み用の画像データを用意
14 | Image image(canvasSize, Palette::White);
15 |
16 | // 表示用のテクスチャ(内容を更新するので DynamicTexture)
17 | DynamicTexture texture(image);
18 |
19 | while (System::Update())
20 | {
21 | if (MouseL.pressed())
22 | {
23 | // 書き込む線の始点は直前のフレームのマウスカーソル座標
24 | // (初回はタッチ操作時の座標のジャンプを防ぐため、現在のマウスカーソル座標にする)
25 | const Point from = MouseL.down() ? Cursor::Pos() : Cursor::PreviousPos();
26 |
27 | // 書き込む線の終点は現在のマウスカーソル座標
28 | const Point to = Cursor::Pos();
29 |
30 | // image に線を書き込む
31 | Line(from, to).overwrite(image, thickness, penColor);
32 |
33 | // 書き込み終わった image でテクスチャを更新
34 | texture.fill(image);
35 | }
36 |
37 | // 描いたものを消去するボタンが押されたら
38 | if (SimpleGUI::Button("Clear", Vec2(640, 40), 120))
39 | {
40 | // 画像を白で塗りつぶす
41 | image.fill(Palette::White);
42 |
43 | // 塗りつぶし終わった image でテクスチャを更新
44 | texture.fill(image);
45 | }
46 |
47 | // テクスチャを表示
48 | texture.draw();
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/Visualizer/App/example/script/piano.as:
--------------------------------------------------------------------------------
1 |
2 | void Main()
3 | {
4 | // 白鍵の大きさ
5 | const Point keySize(55, 400);
6 |
7 | // 楽器の種類
8 | const GMInstrument instrument = GMInstrument::Piano1;
9 |
10 | // ウインドウをリサイズ
11 | Window::Resize(12 * keySize.x, keySize.y);
12 |
13 | // 鍵盤の数
14 | const int32 NumKeys = 20;
15 |
16 | // 音を作成
17 | Array