[DEV] update dispaly ray
This commit is contained in:
parent
9fb437ed21
commit
e83fc80da3
@ -68,7 +68,9 @@ vec3 ege::camera::View::getViewVector() const {
|
|||||||
|
|
||||||
|
|
||||||
ege::Ray ege::camera::View::getRayFromScreen(const vec2& _offset) {
|
ege::Ray ege::camera::View::getRayFromScreen(const vec2& _offset) {
|
||||||
ege::Ray out(m_eye, getViewVector());
|
vec3 direction = getViewVector();
|
||||||
|
direction.safeNormalize();
|
||||||
|
ege::Ray out(m_eye, direction);
|
||||||
EGE_WARNING("request ray from : " << _offset);
|
EGE_WARNING("request ray from : " << _offset);
|
||||||
EGE_WARNING(" camera offset = " << vec2(m_angleView/2*_offset.x(), 2*_offset.y()*m_aspectRatio/m_angleView));
|
EGE_WARNING(" camera offset = " << vec2(m_angleView/2*_offset.x(), 2*_offset.y()*m_aspectRatio/m_angleView));
|
||||||
|
|
||||||
|
@ -151,6 +151,7 @@ bool appl::Windows::onEventInput(const ewol::event::Input& _event) {
|
|||||||
if (_event.getId() == 1) {
|
if (_event.getId() == 1) {
|
||||||
vec2 pos = relativePosition(_event.getPos());
|
vec2 pos = relativePosition(_event.getPos());
|
||||||
ege::Ray ray = m_camera->getRayFromScreenPosition(pos, m_size);
|
ege::Ray ray = m_camera->getRayFromScreenPosition(pos, m_size);
|
||||||
|
m_ray = ray;
|
||||||
APPL_INFO("pos=" << pos << " ray = " << ray);
|
APPL_INFO("pos=" << pos << " ray = " << ray);
|
||||||
ray.testRay(m_env->getPhysicEngine());
|
ray.testRay(m_env->getPhysicEngine());
|
||||||
return true;
|
return true;
|
||||||
@ -162,9 +163,9 @@ void appl::Windows::onCallbackDisplayDebug(const std::shared_ptr<ewol::resource:
|
|||||||
EWOL_INFO("draw user debug");
|
EWOL_INFO("draw user debug");
|
||||||
etk::Color<float> tmpColor(0.0, 1.0, 0.0, 0.3);
|
etk::Color<float> tmpColor(0.0, 1.0, 0.0, 0.3);
|
||||||
std::vector<vec3> vertices;
|
std::vector<vec3> vertices;
|
||||||
vertices.push_back(vec3(100,0,0));
|
vertices.push_back(m_ray.getOrigin());
|
||||||
vertices.push_back(vec3(100,100,0));
|
vertices.push_back(m_ray.getOrigin() + m_ray.getDirection()*1000);
|
||||||
vertices.push_back(vec3(100,100,100));
|
vertices.push_back(vec3(10,0,0));
|
||||||
mat4 mat;
|
mat4 mat;
|
||||||
mat.identity();
|
mat.identity();
|
||||||
mat.translate(vec3(0,0,0));
|
mat.translate(vec3(0,0,0));
|
||||||
|
@ -29,6 +29,7 @@ namespace appl {
|
|||||||
void onCallbackPeriodicUpdateCamera(const ewol::event::Time& _event);
|
void onCallbackPeriodicUpdateCamera(const ewol::event::Time& _event);
|
||||||
bool onEventInput(const ewol::event::Input& _event);
|
bool onEventInput(const ewol::event::Input& _event);
|
||||||
void onCallbackDisplayDebug(const std::shared_ptr<ewol::resource::Colored3DObject>& _obj);
|
void onCallbackDisplayDebug(const std::shared_ptr<ewol::resource::Colored3DObject>& _obj);
|
||||||
|
ege::Ray m_ray;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user