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/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 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
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