pub struct ShaderAsset {
pub vertex: Cow<'static, str>,
pub fragment: Cow<'static, str>,
}Fields§
§vertex: Cow<'static, str>§fragment: Cow<'static, str>Implementations§
Source§impl ShaderAsset
impl ShaderAsset
Sourcepub fn new(vertex: &'static str, fragment: &'static str) -> Self
pub fn new(vertex: &'static str, fragment: &'static str) -> Self
Examples found in repository?
examples/path.rs (lines 68-71)
46 fn enter(&mut self, context: GameContext) {
47 context.graphics.color = [0.2, 0.2, 0.2, 1.0];
48 context.graphics.main_camera.screen_alignment = 0.5.into();
49 context.graphics.main_camera.scaling = CameraScaling::FitVertical(300.0);
50
51 let pointer_x = InputAxisRef::default();
52 let pointer_y = InputAxisRef::default();
53 self.mouse_xy = Some(ArrayInputCombinator::new([
54 pointer_x.clone(),
55 pointer_y.clone(),
56 ]));
57 context.input.push_mapping(
58 InputMapping::default()
59 .consume(InputConsume::Hit)
60 .axis(VirtualAxis::MousePositionX, pointer_x)
61 .axis(VirtualAxis::MousePositionY, pointer_y),
62 );
63
64 context
65 .assets
66 .spawn(
67 "shader://color",
68 (ShaderAsset::new(
69 Shader::COLORED_VERTEX_2D,
70 Shader::PASS_FRAGMENT,
71 ),),
72 )
73 .unwrap();
74 }More examples
examples/pcg_island.rs (lines 162-165)
155 fn enter(&mut self, context: GameContext) {
156 context.graphics.main_camera.scaling = CameraScaling::FitVertical(SIZE as f32 * 10.0);
157
158 context
159 .assets
160 .spawn(
161 "shader://color",
162 (ShaderAsset::new(
163 Shader::COLORED_VERTEX_2D,
164 Shader::PASS_FRAGMENT,
165 ),),
166 )
167 .unwrap();
168 context
169 .assets
170 .spawn(
171 "shader://text",
172 (ShaderAsset::new(Shader::TEXT_VERTEX, Shader::TEXT_FRAGMENT),),
173 )
174 .unwrap();
175
176 context.assets.ensure("font://roboto.ttf").unwrap();
177
178 let mouse_x = InputAxisRef::default();
179 let mouse_y = InputAxisRef::default();
180 self.mouse_position = ArrayInputCombinator::new([mouse_x.clone(), mouse_y.clone()]);
181 context.input.push_mapping(
182 InputMapping::default()
183 .axis(VirtualAxis::MousePositionX, mouse_x)
184 .axis(VirtualAxis::MousePositionY, mouse_y),
185 );
186 }examples/spine.rs (lines 38-41)
29 fn enter(&mut self, context: GameContext) {
30 context.graphics.color = [0.2, 0.2, 0.2, 1.0];
31 context.graphics.main_camera.screen_alignment = 0.5.into();
32 context.graphics.main_camera.scaling = CameraScaling::FitVertical(500.0);
33
34 context
35 .assets
36 .spawn(
37 "shader://color",
38 (ShaderAsset::new(
39 Shader::COLORED_VERTEX_2D,
40 Shader::PASS_FRAGMENT,
41 ),),
42 )
43 .unwrap();
44 context
45 .assets
46 .spawn(
47 "shader://image",
48 (ShaderAsset::new(
49 Shader::TEXTURED_VERTEX_2D,
50 Shader::TEXTURED_FRAGMENT,
51 ),),
52 )
53 .unwrap();
54 context
55 .assets
56 .spawn(
57 "shader://text",
58 (ShaderAsset::new(Shader::TEXT_VERTEX, Shader::TEXT_FRAGMENT),),
59 )
60 .unwrap();
61
62 context.assets.ensure("spine://robot-lod0.zip").unwrap();
63 context.assets.ensure("spine://robot-lod1.zip").unwrap();
64
65 *context.state_change = GameStateChange::Swap(Box::new(State::default()));
66 }examples/hello_world.rs (lines 46-49)
36 fn enter(&mut self, context: GameContext) {
37 context.graphics.color = [0.2, 0.2, 0.2, 1.0];
38 context.graphics.main_camera.screen_alignment = 0.5.into();
39 context.graphics.main_camera.scaling = CameraScaling::FitVertical(500.0);
40 context.gui.coords_map_scaling = CoordsMappingScaling::FitVertical(500.0);
41
42 context
43 .assets
44 .spawn(
45 "shader://color",
46 (ShaderAsset::new(
47 Shader::COLORED_VERTEX_2D,
48 Shader::PASS_FRAGMENT,
49 ),),
50 )
51 .unwrap();
52 context
53 .assets
54 .spawn(
55 "shader://image",
56 (ShaderAsset::new(
57 Shader::TEXTURED_VERTEX_2D,
58 Shader::TEXTURED_FRAGMENT,
59 ),),
60 )
61 .unwrap();
62 context
63 .assets
64 .spawn(
65 "shader://text",
66 (ShaderAsset::new(Shader::TEXT_VERTEX, Shader::TEXT_FRAGMENT),),
67 )
68 .unwrap();
69
70 context.assets.ensure("texture://ferris.png").unwrap();
71
72 context.assets.ensure("font://roboto.ttf").unwrap();
73
74 *context.state_change = GameStateChange::Swap(Box::new(State::default()));
75 }Auto Trait Implementations§
impl Freeze for ShaderAsset
impl RefUnwindSafe for ShaderAsset
impl Send for ShaderAsset
impl Sync for ShaderAsset
impl Unpin for ShaderAsset
impl UnsafeUnpin for ShaderAsset
impl UnwindSafe for ShaderAsset
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> Component for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more