1
1
mod ui;
2
2
3
- use std:: sync:: mpsc;
4
- use bevy_terrain:: { terrain:: { terrain_example, Terrain } , terrain_shader:: MyMaterialWithVertexColorSupport } ;
3
+ use bevy_terrain:: { gizmo:: add_axis_gizmo, terrain:: { terrain_example, Terrain } , terrain_shader:: MyMaterialWithVertexColorSupport } ;
5
4
use bevy:: prelude:: * ;
6
5
use bevy_fly_camera:: { FlyCamera , FlyCameraPlugin } ;
7
6
use bevy_render:: {
@@ -14,8 +13,7 @@ use ui::{ButtonMaterials, button_system, setup_ui, show_ui_system};
14
13
use bevy:: {
15
14
render:: {
16
15
pipeline:: { PipelineDescriptor , RenderPipeline } ,
17
- render_graph:: { base, AssetRenderResourcesNode , RenderGraph } ,
18
- shader:: { ShaderStage , ShaderStages } ,
16
+ render_graph:: { RenderGraph } ,
19
17
} ,
20
18
} ;
21
19
@@ -63,40 +61,13 @@ fn setup(
63
61
commands
64
62
// terrain
65
63
. spawn ( MeshBundle {
66
- // mesh: meshes.add(Mesh::from(shape::Plane { size: 5.0 })),
67
64
mesh : terrain_mesh_handle,
68
65
render_pipelines : RenderPipelines :: from_pipelines ( vec ! [ RenderPipeline :: new(
69
66
pipeline_handle,
70
67
) ] ) ,
71
68
transform : Transform :: from_translation ( Vec3 :: new ( 0.0 , 0.0 , 0.0 ) ) ,
72
69
..Default :: default ( )
73
70
} ) . with ( Terrain { } )
74
- // cube
75
- . spawn ( PbrBundle {
76
- mesh : meshes. add ( Mesh :: from ( shape:: Cube { size : 0.1 } ) ) ,
77
- material : materials. add ( Color :: rgb ( 1.0 , 0.0 , 0.0 ) . into ( ) ) ,
78
- transform : Transform :: from_translation ( Vec3 :: new ( 4.0 , 0.0 , 0.0 ) ) ,
79
- ..Default :: default ( )
80
- } )
81
- . spawn ( PbrBundle {
82
- mesh : meshes. add ( Mesh :: from ( shape:: Cube { size : 0.2 } ) ) ,
83
- material : materials. add ( Color :: rgb ( 0.0 , 0.0 , 0.0 ) . into ( ) ) ,
84
- transform : Transform :: from_translation ( Vec3 :: new ( 0.0 , 0.0 , 0.0 ) ) ,
85
- ..Default :: default ( )
86
- } )
87
- . spawn ( PbrBundle {
88
- mesh : meshes. add ( Mesh :: from ( shape:: Cube { size : 0.1 } ) ) ,
89
- material : materials. add ( Color :: rgb ( 0.0 , 1.0 , 0.0 ) . into ( ) ) ,
90
- transform : Transform :: from_translation ( Vec3 :: new ( 0.0 , 4.0 , 0.0 ) ) ,
91
- ..Default :: default ( )
92
- } )
93
- . spawn ( PbrBundle {
94
- mesh : meshes. add ( Mesh :: from ( shape:: Cube { size : 0.1 } ) ) ,
95
- material : materials. add ( Color :: rgb ( 0.0 , 0.0 , 1.0 ) . into ( ) ) ,
96
- transform : Transform :: from_translation ( Vec3 :: new ( 0.0 , 0.0 , 4.0 ) ) ,
97
- ..Default :: default ( )
98
- } )
99
- // light
100
71
. spawn ( LightBundle {
101
72
transform : Transform :: from_translation ( Vec3 :: new ( 0.0 , 4.0 , 0.0 ) ) ,
102
73
..Default :: default ( )
@@ -109,32 +80,10 @@ fn setup(
109
80
} )
110
81
. with ( FlyCamera :: default ( ) ) ;
111
82
83
+ add_axis_gizmo ( commands, meshes, materials,
84
+ Transform :: from_translation ( Vec3 :: new ( 0f32 , 0f32 , 0f32 ) ) ) ;
85
+
112
86
setup_ui ( commands,
113
87
asset_server,
114
88
button_materials) ;
115
89
}
116
-
117
-
118
- fn make_terrain_mesh ( ) -> Mesh {
119
-
120
- let mut mesh = Mesh :: new ( PrimitiveTopology :: TriangleList ) ;
121
-
122
- let vertices : Vec < [ f32 ; 3 ] > = vec ! [
123
- [ 0.0 , 0.0 , 0.0 ] ,
124
- [ 0.0 , 0.0 , 1.0 ] ,
125
- [ 1.0 , 0.0 , 0.0 ] ,
126
- ] ;
127
- let normals = vec ! [ [ 0.0 , 0.0 , 1.0 ] ; 3 ] ;
128
-
129
- let indices = vec ! [ 0 , 1 , 2 ] ;
130
- let uvs = vec ! [ [ 0.0 , 0.0 , 0.0 ] ; vertices. len( ) ] ;
131
-
132
- mesh. set_attribute (
133
- Mesh :: ATTRIBUTE_POSITION ,
134
- VertexAttributeValues :: Float3 ( vertices) ) ;
135
- mesh. set_attribute ( Mesh :: ATTRIBUTE_NORMAL , VertexAttributeValues :: Float3 ( normals) ) ;
136
- mesh. set_attribute ( Mesh :: ATTRIBUTE_UV_0 , VertexAttributeValues :: Float3 ( uvs) ) ;
137
- mesh. set_indices ( Some ( Indices :: U32 ( indices) ) ) ;
138
-
139
- mesh
140
- }
0 commit comments