Skip to content

Commit da760d1

Browse files
committed
Migrate all examples to use the new API.
1 parent 6a2bac0 commit da760d1

21 files changed

Lines changed: 312 additions & 264 deletions

examples/2d/mesh2d_repeated_texture.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ fn setup(
3232
// settings
3333
let image_with_default_sampler =
3434
asset_server.load("textures/fantasy_ui_borders/panel-border-010.png");
35-
let image_with_repeated_sampler = asset_server.load_with_settings(
36-
"textures/fantasy_ui_borders/panel-border-010-repeated.png",
37-
|s: &mut _| {
35+
let image_with_repeated_sampler = asset_server
36+
.load_builder()
37+
.with_settings(|s: &mut _| {
3838
*s = ImageLoaderSettings {
3939
sampler: ImageSampler::Descriptor(ImageSamplerDescriptor {
4040
// rewriting mode to repeat image,
@@ -44,8 +44,8 @@ fn setup(
4444
}),
4545
..default()
4646
}
47-
},
48-
);
47+
})
48+
.load("textures/fantasy_ui_borders/panel-border-010-repeated.png");
4949

5050
// central rectangle with not repeated texture
5151
commands.spawn((

examples/2d/tilemap_chunk.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,14 @@ fn setup(mut commands: Commands, assets: Res<AssetServer>) {
4545
TilemapChunk {
4646
chunk_size,
4747
tile_display_size,
48-
tileset: assets.load_with_settings(
49-
"textures/array_texture.png",
50-
|settings: &mut ImageLoaderSettings| {
48+
tileset: assets
49+
.load_builder()
50+
.with_settings(|settings: &mut ImageLoaderSettings| {
5151
// The tileset texture is expected to be an array of tile textures, so we tell the
5252
// `ImageLoader` that our texture is composed of 4 stacked tile images.
5353
settings.array_layout = Some(ImageArrayLayout::RowCount { rows: 4 });
54-
},
55-
),
54+
})
55+
.load("textures/array_texture.png"),
5656
..default()
5757
},
5858
TilemapChunkTileData(tile_data),

examples/2d/tilemap_chunk_orientation.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,14 @@ fn setup(mut commands: Commands, assets: Res<AssetServer>) {
6161
TilemapChunk {
6262
chunk_size,
6363
tile_display_size,
64-
tileset: assets.load_with_settings(
65-
"textures/arrow.png",
66-
|settings: &mut ImageLoaderSettings| {
64+
tileset: assets
65+
.load_builder()
66+
.with_settings(|settings: &mut ImageLoaderSettings| {
6767
// The tileset texture is expected to be an array of tile textures, so we tell the
6868
// `ImageLoader` that our texture is composed of 2 stacked tile images.
6969
settings.array_layout = Some(ImageArrayLayout::RowCount { rows: 2 });
70-
},
71-
),
70+
})
71+
.load("textures/arrow.png"),
7272
alpha_mode: AlphaMode2d::Blend,
7373
},
7474
TilemapChunkTileData(tile_data),

examples/3d/atmosphere.rs

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -262,38 +262,40 @@ fn spawn_water(
262262
) {
263263
commands.spawn((
264264
Mesh3d(meshes.add(Plane3d::new(Vec3::Y, Vec2::splat(1.0)))),
265-
MeshMaterial3d(water_materials.add(ExtendedMaterial {
266-
base: StandardMaterial {
267-
base_color: BLACK.into(),
268-
perceptual_roughness: 0.0,
269-
..default()
270-
},
271-
extension: Water {
272-
normals: asset_server.load_with_settings::<Image, ImageLoaderSettings>(
273-
"textures/water_normals.png",
274-
|settings| {
275-
settings.is_srgb = false;
276-
settings.sampler = ImageSampler::Descriptor(ImageSamplerDescriptor {
277-
address_mode_u: ImageAddressMode::Repeat,
278-
address_mode_v: ImageAddressMode::Repeat,
279-
mag_filter: ImageFilterMode::Linear,
280-
min_filter: ImageFilterMode::Linear,
281-
..default()
282-
});
265+
MeshMaterial3d(
266+
water_materials.add(ExtendedMaterial {
267+
base: StandardMaterial {
268+
base_color: BLACK.into(),
269+
perceptual_roughness: 0.0,
270+
..default()
271+
},
272+
extension: Water {
273+
normals: asset_server
274+
.load_builder()
275+
.with_settings(|settings: &mut ImageLoaderSettings| {
276+
settings.is_srgb = false;
277+
settings.sampler = ImageSampler::Descriptor(ImageSamplerDescriptor {
278+
address_mode_u: ImageAddressMode::Repeat,
279+
address_mode_v: ImageAddressMode::Repeat,
280+
mag_filter: ImageFilterMode::Linear,
281+
min_filter: ImageFilterMode::Linear,
282+
..default()
283+
});
284+
})
285+
.load("textures/water_normals.png"),
286+
// These water settings are just random values to create some
287+
// variety.
288+
settings: WaterSettings {
289+
octave_vectors: [
290+
vec4(0.080, 0.059, 0.073, -0.062),
291+
vec4(0.153, 0.138, -0.149, -0.195),
292+
],
293+
octave_scales: vec4(1.0, 2.1, 7.9, 14.9) * 500.0,
294+
octave_strengths: vec4(0.16, 0.18, 0.093, 0.044) * 0.2,
283295
},
284-
),
285-
// These water settings are just random values to create some
286-
// variety.
287-
settings: WaterSettings {
288-
octave_vectors: [
289-
vec4(0.080, 0.059, 0.073, -0.062),
290-
vec4(0.153, 0.138, -0.149, -0.195),
291-
],
292-
octave_scales: vec4(1.0, 2.1, 7.9, 14.9) * 500.0,
293-
octave_strengths: vec4(0.16, 0.18, 0.093, 0.044) * 0.2,
294296
},
295-
},
296-
})),
297+
}),
298+
),
297299
Transform::from_scale(Vec3::splat(100.0)),
298300
));
299301
}

examples/3d/clearcoat.rs

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -100,18 +100,24 @@ fn spawn_car_paint_sphere(
100100
commands
101101
.spawn((
102102
Mesh3d(sphere.clone()),
103-
MeshMaterial3d(materials.add(StandardMaterial {
104-
clearcoat: 1.0,
105-
clearcoat_perceptual_roughness: 0.1,
106-
normal_map_texture: Some(asset_server.load_with_settings(
107-
"textures/BlueNoise-Normal.png",
108-
|settings: &mut ImageLoaderSettings| settings.is_srgb = false,
109-
)),
110-
metallic: 0.9,
111-
perceptual_roughness: 0.5,
112-
base_color: BLUE.into(),
113-
..default()
114-
})),
103+
MeshMaterial3d(
104+
materials.add(StandardMaterial {
105+
clearcoat: 1.0,
106+
clearcoat_perceptual_roughness: 0.1,
107+
normal_map_texture: Some(
108+
asset_server
109+
.load_builder()
110+
.with_settings(|settings: &mut ImageLoaderSettings| {
111+
settings.is_srgb = false;
112+
})
113+
.load("textures/BlueNoise-Normal.png"),
114+
),
115+
metallic: 0.9,
116+
perceptual_roughness: 0.5,
117+
base_color: BLUE.into(),
118+
..default()
119+
}),
120+
),
115121
Transform::from_xyz(-1.0, 1.0, 0.0).with_scale(Vec3::splat(SPHERE_SCALE)),
116122
))
117123
.insert(ExampleSphere);
@@ -166,18 +172,24 @@ fn spawn_scratched_gold_ball(
166172
commands
167173
.spawn((
168174
Mesh3d(sphere.clone()),
169-
MeshMaterial3d(materials.add(StandardMaterial {
170-
clearcoat: 1.0,
171-
clearcoat_perceptual_roughness: 0.3,
172-
clearcoat_normal_texture: Some(asset_server.load_with_settings(
173-
"textures/ScratchedGold-Normal.png",
174-
|settings: &mut ImageLoaderSettings| settings.is_srgb = false,
175-
)),
176-
metallic: 0.9,
177-
perceptual_roughness: 0.1,
178-
base_color: GOLD.into(),
179-
..default()
180-
})),
175+
MeshMaterial3d(
176+
materials.add(StandardMaterial {
177+
clearcoat: 1.0,
178+
clearcoat_perceptual_roughness: 0.3,
179+
clearcoat_normal_texture: Some(
180+
asset_server
181+
.load_builder()
182+
.with_settings(|settings: &mut ImageLoaderSettings| {
183+
settings.is_srgb = false;
184+
})
185+
.load("textures/ScratchedGold-Normal.png"),
186+
),
187+
metallic: 0.9,
188+
perceptual_roughness: 0.1,
189+
base_color: GOLD.into(),
190+
..default()
191+
}),
192+
),
181193
Transform::from_xyz(1.0, -1.0, 0.0).with_scale(Vec3::splat(SPHERE_SCALE)),
182194
))
183195
.insert(ExampleSphere);

examples/3d/clustered_decal_maps.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ impl FromWorld for AppTextures {
5050
let asset_server = world.resource::<AssetServer>();
5151
AppTextures {
5252
decal_base_color_texture: asset_server.load("branding/bevy_bird_dark.png"),
53-
decal_normal_map_texture: asset_server.load_with_settings(
54-
get_web_asset_url("BevyLogo-Normal.png"),
55-
|settings: &mut ImageLoaderSettings| settings.is_srgb = false,
56-
),
57-
decal_metallic_roughness_map_texture: asset_server.load_with_settings(
58-
get_web_asset_url("BevyLogo-MetallicRoughness.png"),
59-
|settings: &mut ImageLoaderSettings| settings.is_srgb = false,
60-
),
53+
decal_normal_map_texture: asset_server
54+
.load_builder()
55+
.with_settings(|settings: &mut ImageLoaderSettings| settings.is_srgb = false)
56+
.load(get_web_asset_url("BevyLogo-Normal.png")),
57+
decal_metallic_roughness_map_texture: asset_server
58+
.load_builder()
59+
.with_settings(|settings: &mut ImageLoaderSettings| settings.is_srgb = false)
60+
.load(get_web_asset_url("BevyLogo-MetallicRoughness.png")),
6161
decal_emissive_texture: asset_server.load(get_web_asset_url("BevyLogo-Emissive.png")),
6262
}
6363
}
@@ -207,10 +207,10 @@ fn spawn_plane_mesh(
207207
// Give the plane some texture.
208208
//
209209
// Note that, as this is a normal map, we must disable sRGB when loading.
210-
let normal_map_texture = asset_server.load_with_settings(
211-
"textures/ScratchedGold-Normal.png",
212-
|settings: &mut ImageLoaderSettings| settings.is_srgb = false,
213-
);
210+
let normal_map_texture = asset_server
211+
.load_builder()
212+
.with_settings(|settings: &mut ImageLoaderSettings| settings.is_srgb = false)
213+
.load("textures/ScratchedGold-Normal.png");
214214

215215
// Actually spawn the plane.
216216
commands.spawn((

examples/3d/deferred_rendering.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -218,12 +218,14 @@ fn setup_parallax(
218218
// The normal map. Note that to generate it in the GIMP image editor, you should
219219
// open the depth map, and do Filters → Generic → Normal Map
220220
// You should enable the "flip X" checkbox.
221-
let normal_handle = asset_server.load_with_settings(
222-
"textures/parallax_example/cube_normal.png",
223-
// The normal map texture is in linear color space. Lighting won't look correct
224-
// if `is_srgb` is `true`, which is the default.
225-
|settings: &mut ImageLoaderSettings| settings.is_srgb = false,
226-
);
221+
let normal_handle = asset_server
222+
.load_builder()
223+
.with_settings(
224+
// The normal map texture is in linear color space. Lighting won't look correct
225+
// if `is_srgb` is `true`, which is the default.
226+
|settings: &mut ImageLoaderSettings| settings.is_srgb = false,
227+
)
228+
.load("textures/parallax_example/cube_normal.png");
227229

228230
let mut cube = Mesh::from(Cuboid::new(0.15, 0.15, 0.15));
229231

examples/3d/parallax_mapping.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -206,12 +206,14 @@ fn setup(
206206
// The normal map. Note that to generate it in the GIMP image editor, you should
207207
// open the depth map, and do Filters → Generic → Normal Map
208208
// You should enable the "flip X" checkbox.
209-
let normal_handle = asset_server.load_with_settings(
210-
"textures/parallax_example/cube_normal.png",
211-
// The normal map texture is in linear color space. Lighting won't look correct
212-
// if `is_srgb` is `true`, which is the default.
213-
|settings: &mut ImageLoaderSettings| settings.is_srgb = false,
214-
);
209+
let normal_handle = asset_server
210+
.load_builder()
211+
.with_settings(
212+
// The normal map texture is in linear color space. Lighting won't look correct
213+
// if `is_srgb` is `true`, which is the default.
214+
|settings: &mut ImageLoaderSettings| settings.is_srgb = false,
215+
)
216+
.load("textures/parallax_example/cube_normal.png");
215217

216218
// Camera
217219
commands.spawn((

examples/3d/rotate_environment_map.rs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -67,18 +67,24 @@ fn spawn_sphere(
6767
) {
6868
commands.spawn((
6969
Mesh3d(sphere_mesh.clone()),
70-
MeshMaterial3d(materials.add(StandardMaterial {
71-
clearcoat: 1.0,
72-
clearcoat_perceptual_roughness: 0.3,
73-
clearcoat_normal_texture: Some(asset_server.load_with_settings(
74-
"textures/ScratchedGold-Normal.png",
75-
|settings: &mut ImageLoaderSettings| settings.is_srgb = false,
76-
)),
77-
metallic: 0.9,
78-
perceptual_roughness: 0.1,
79-
base_color: GOLD.into(),
80-
..default()
81-
})),
70+
MeshMaterial3d(
71+
materials.add(StandardMaterial {
72+
clearcoat: 1.0,
73+
clearcoat_perceptual_roughness: 0.3,
74+
clearcoat_normal_texture: Some(
75+
asset_server
76+
.load_builder()
77+
.with_settings(|settings: &mut ImageLoaderSettings| {
78+
settings.is_srgb = false;
79+
})
80+
.load("textures/ScratchedGold-Normal.png"),
81+
),
82+
metallic: 0.9,
83+
perceptual_roughness: 0.1,
84+
base_color: GOLD.into(),
85+
..default()
86+
}),
87+
),
8288
Transform::from_xyz(0.0, 0.0, 0.0).with_scale(Vec3::splat(1.25)),
8389
));
8490
}

examples/3d/scrolling_fog.rs

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -89,20 +89,23 @@ fn setup(
8989
// Load a repeating 3d noise texture. Make sure to set ImageAddressMode to Repeat
9090
// so that the texture wraps around as the density texture offset is moved along.
9191
// Also set ImageFilterMode to Linear so that the fog isn't pixelated.
92-
let noise_texture = assets.load_with_settings("volumes/fog_noise.ktx2", |settings: &mut _| {
93-
*settings = ImageLoaderSettings {
94-
sampler: ImageSampler::Descriptor(ImageSamplerDescriptor {
95-
address_mode_u: ImageAddressMode::Repeat,
96-
address_mode_v: ImageAddressMode::Repeat,
97-
address_mode_w: ImageAddressMode::Repeat,
98-
mag_filter: ImageFilterMode::Linear,
99-
min_filter: ImageFilterMode::Linear,
100-
mipmap_filter: ImageFilterMode::Linear,
92+
let noise_texture = assets
93+
.load_builder()
94+
.with_settings(|settings: &mut _| {
95+
*settings = ImageLoaderSettings {
96+
sampler: ImageSampler::Descriptor(ImageSamplerDescriptor {
97+
address_mode_u: ImageAddressMode::Repeat,
98+
address_mode_v: ImageAddressMode::Repeat,
99+
address_mode_w: ImageAddressMode::Repeat,
100+
mag_filter: ImageFilterMode::Linear,
101+
min_filter: ImageFilterMode::Linear,
102+
mipmap_filter: ImageFilterMode::Linear,
103+
..default()
104+
}),
101105
..default()
102-
}),
103-
..default()
104-
}
105-
});
106+
}
107+
})
108+
.load("volumes/fog_noise.ktx2");
106109

107110
// Spawn a FogVolume and use the repeating noise texture as its density texture.
108111
commands.spawn((

0 commit comments

Comments
 (0)