Skip to content

Commit 85e743c

Browse files
committed
Add frag uni parameter to demos, lifetime issue with shader?!
1 parent d1563d1 commit 85e743c

File tree

8 files changed

+37
-38
lines changed

8 files changed

+37
-38
lines changed

core/examples/hello_tri.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ fn main() {
1414
// Interpolate vertex colors in linear color space
1515
vertex(mvp.apply(&v.pos), v.attrib.to_linear())
1616
},
17-
|frag: Frag<Color3f<_>>| frag.var.to_srgb().to_color4(),
17+
|frag: Frag<Color3f<_>>, _| frag.var.to_srgb().to_color4(),
1818
);
1919
#[cfg(not(feature = "fp"))]
2020
let shader = shader::new(

core/src/render/cam.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use core::ops::Range;
44

55
#[cfg(feature = "fp")]
66
use crate::math::{
7-
Angle, Vec3, orient_z, pt3, rotate_x, rotate_y, spherical, translate, turns,
7+
Angle, Vec3, orient_z, rotate_x, rotate_y, spherical, translate, turns,
88
};
99
use crate::math::{
1010
Lerp, Mat4x4, Point3, SphericalVec, Vary, mat::RealToReal, orthographic,

core/tests/rendering.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ fn textured_quad() {
2727
|v: Vertex3<_>, mvp: &Mat4x4<ModelToProj>| {
2828
vertex(mvp.apply(&v.pos), v.attrib)
2929
},
30-
|frag: Frag<_>| SamplerClamp.sample(&checker, frag.var),
30+
|frag: Frag<_>, _| SamplerClamp.sample(&checker, frag.var),
3131
);
3232

3333
let (w, h) = (256, 256);

demos/src/bin/hello.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,6 @@ fn main() {
3030

3131
win.ctx.face_cull = None;
3232

33-
let shader = shader::new(
34-
|v: Vertex<_, _>, mvp: &Mat4x4<ModelToProj>| {
35-
vertex(mvp.apply(&v.pos), v.attrib)
36-
},
37-
|frag: Frag<TexCoord>| text.sample(frag.var).to_rgba(),
38-
);
39-
4033
let vp: Mat4x4<mat::RealToProj<World>> = translate(vec3(0.0, 0.0, 15.0))
4134
.to()
4235
.then(&perspective(1.0, 4.0 / 3.0, 0.1..1000.0));
@@ -46,6 +39,13 @@ fn main() {
4639
win.run(|frame: &mut Frame<_, _>| {
4740
let secs = frame.t.as_secs_f32();
4841

42+
let shader = shader::new(
43+
|v: Vertex<_, _>, mvp: &Mat4x4<ModelToProj>| {
44+
vertex(mvp.apply(&v.pos), v.attrib)
45+
},
46+
|frag: Frag<TexCoord>, _| text.sample(frag.var).to_rgba(),
47+
);
48+
4949
let mvp = scale(splat(0.1))
5050
.then(&translate(vec3(-10.0, -5.0, 5.0 * secs.sin())))
5151
.then(&rotate_y(rads(secs * 0.59)))

demos/src/bin/solids.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ fn main() {
7676
vertex(mvp.apply(&v.pos), col)
7777
}
7878

79-
fn frag_shader(f: Frag<Color3f>) -> Color4 {
79+
fn frag_shader(f: Frag<Color3f>, _: Uniform) -> Color4 {
8080
f.var.to_color4()
8181
}
8282

demos/src/bin/sprites.rs

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ use core::{array::from_fn, ops::ControlFlow::Continue};
33
use re::prelude::*;
44

55
use re::math::rand::{Distrib, PointsInUnitBall, Xorshift64};
6-
use re::render::{Model, ModelToView, ViewToProj, cam::*, render};
6+
use re::render::{ModelToView, ViewToProj, cam::*, render};
77
use re_front::minifb::Window;
88

99
fn main() {
10-
let verts: [Vec2<Model>; 4] = [
10+
let verts: [Vec2<View>; 4] = [
1111
vec2(-1.0, -1.0),
1212
vec2(-1.0, 1.0),
1313
vec2(1.0, -1.0),
@@ -32,23 +32,6 @@ fn main() {
3232
.build()
3333
.expect("should create window");
3434

35-
let shader = shader::new(
36-
|v: Vertex3<Vec2<_>>,
37-
(mv, proj): (&Mat4x4<ModelToView>, &Mat4x4<ViewToProj>)| {
38-
let vertex_pos = 0.008 * v.attrib.to_vec3().to();
39-
let view_pos = mv.apply_pt(&v.pos) + vertex_pos;
40-
vertex(proj.apply(&view_pos), v.attrib)
41-
},
42-
|frag: Frag<Vec2<_>>| {
43-
let d2 = frag.var.len_sqr();
44-
(d2 < 1.0).then(|| {
45-
// TODO ops trait for colors
46-
let col: Vec3 = splat(1.0) - d2 * vec3(0.25, 0.5, 1.0);
47-
rgba(col.x(), col.y(), col.z(), 1.0).to_color4()
48-
})
49-
},
50-
);
51-
5235
let (w, h) = win.dims;
5336
let cam = Camera::new(win.dims)
5437
.transform(translate(0.5 * Vec3::Z).to())
@@ -58,6 +41,22 @@ fn main() {
5841
win.run(|frame| {
5942
let theta = rads(frame.t.as_secs_f32());
6043

44+
let shader = shader::new(
45+
|v: Vertex3<Vec2<_>>,
46+
(mv, proj): (&Mat4x4<ModelToView>, &Mat4x4<ViewToProj>)| {
47+
let vertex_pos = 0.008 * v.attrib.to_vec3();
48+
let view_pos = mv.apply_pt(&v.pos) + vertex_pos;
49+
vertex(proj.apply(&view_pos), v.attrib)
50+
},
51+
|frag: Frag<Vec2<_>>, _| {
52+
let d2 = frag.var.len_sqr();
53+
(d2 < 1.0).then(|| {
54+
let col = color::gray(1.0) - d2 * rgb(0.25, 0.5, 1.0);
55+
col.to_color4()
56+
})
57+
},
58+
);
59+
6160
let modelview = rotate_x(theta * 0.2)
6261
.then(&rotate_z(theta * 0.14))
6362
.to()

demos/src/bin/square.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,20 +36,20 @@ fn main() {
3636
rgba(xor as u8 * 255, 128, 255 - xor as u8 * 128, 0)
3737
}));
3838

39-
let shader = shader::new(
40-
|v: Vertex3<_>, mvp: &Mat4x4<ModelToProj>| {
41-
vertex(mvp.apply(&v.pos), v.attrib)
42-
},
43-
|frag: Frag<_>| SamplerClamp.sample(&checker, frag.var),
44-
);
45-
4639
let (w, h) = win.dims;
4740
let projection = perspective(1.0, w as f32 / h as f32, 0.1..1000.0);
4841
let viewport = viewport(pt2(10, 10)..pt2(w - 10, h - 10));
4942

5043
win.run(|frame| {
5144
let time = frame.t.as_secs_f32();
5245

46+
let shader = shader::new(
47+
|v: Vertex3<_>, mvp: &Mat4x4<ModelToProj>| {
48+
vertex(mvp.apply(&v.pos), v.attrib)
49+
},
50+
|frag: Frag<_>, _| SamplerClamp.sample(&checker, frag.var),
51+
);
52+
5353
let model_view_project = rotate_y(rads(time))
5454
.then(&translate3(0.0, 0.0, 3.0 + time.sin()))
5555
.to()

demos/wasm/src/triangle.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ pub fn start() {
3838

3939
let sh = Shader::new(
4040
|v: Vertex3<Color4f>, _| vertex(mvp.apply(&v.pos), v.attrib),
41-
|f: Frag<Color4f>| f.var.to_color4(),
41+
|f: Frag<Color4f>, _| f.var.to_color4(),
4242
);
4343

4444
render(

0 commit comments

Comments
 (0)