Beispiel #1
0
func (rv *RoomViewer) modelviewToLeftWall(mx, my float32) (x, y, dist float32) {
	mz := d2p(rv.left_wall_mat, mathgl.Vec3{mx, my, 0}, mathgl.Vec3{0, 0, 1})
	v := mathgl.Vec4{X: mx, Y: my, Z: mz, W: 1}
	v.Transform(&rv.left_wall_imat)
	if v.X > float32(rv.room.Size.Dx) {
		v.X = float32(rv.room.Size.Dx)
	}
	return v.X, v.Y + float32(rv.room.Size.Dy), mz
}