added scale fonction in utils for 2D
This commit is contained in:
parent
7ff6bef30b
commit
1d9fc6bc54
@ -82,6 +82,8 @@ void Engine::update()
|
|||||||
void Engine::start()
|
void Engine::start()
|
||||||
{
|
{
|
||||||
m_running = true;
|
m_running = true;
|
||||||
|
for(int i = 0;i<5;i++)
|
||||||
|
m_sparrowshell->scrollUp();
|
||||||
while(!m_input->isCloseRequested() && m_running)
|
while(!m_input->isCloseRequested() && m_running)
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
@ -39,10 +39,12 @@ void SparrowShell::out(std::string s)
|
|||||||
|
|
||||||
void SparrowShell::scrollUp(){
|
void SparrowShell::scrollUp(){
|
||||||
if (m_index + BUFFER_DISPLAYED_NUMBER < m_buffer.size()) m_index++;
|
if (m_index + BUFFER_DISPLAYED_NUMBER < m_buffer.size()) m_index++;
|
||||||
|
std::cout << "scroll up" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SparrowShell::scrollDown(){
|
void SparrowShell::scrollDown(){
|
||||||
if (m_index > 0) m_index--;
|
if (m_index > 0) m_index--;
|
||||||
|
std::cout << "scroll up" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SparrowShell::update()
|
void SparrowShell::update()
|
||||||
|
@ -27,17 +27,16 @@ int main(){
|
|||||||
SceneTree scene;
|
SceneTree scene;
|
||||||
|
|
||||||
/* Exemple creation mesh 2D
|
/* Exemple creation mesh 2D
|
||||||
*
|
**/
|
||||||
*/
|
|
||||||
Mesh* mesh = new Mesh();
|
Mesh* mesh = new Mesh();
|
||||||
mesh->addRectangle2D(180, 400,5,5);
|
mesh->addRectangle2D(180, 400,10,64);
|
||||||
PhongMaterial *mat = new PhongMaterial();
|
PhongMaterial *mat = new PhongMaterial();
|
||||||
mat->diffuse = glm::vec3(1, 0.5, 0);
|
mat->diffuse = glm::vec3(1, 0.5, 0);
|
||||||
mesh->setMaterial(mat);
|
mesh->setMaterial(mat);
|
||||||
mesh->setDepth(1);
|
mesh->setDepth(1);
|
||||||
mesh->initGL();
|
mesh->initGL();
|
||||||
scene.addObject(scene.getRootObject(),new MeshNode(mesh));
|
scene.addObject(scene.getRootObject(),new MeshNode(mesh));
|
||||||
/* */
|
/**/
|
||||||
|
|
||||||
/* Exemple ajout d'un objet a la scene
|
/* Exemple ajout d'un objet a la scene
|
||||||
*
|
*
|
||||||
@ -53,12 +52,10 @@ int main(){
|
|||||||
Font* fonte_des_neiges = Loader::loadFont("../data/consolas.fnt","../data/consolas.png");
|
Font* fonte_des_neiges = Loader::loadFont("../data/consolas.fnt","../data/consolas.png");
|
||||||
RESOURCE_ADD(fonte_des_neiges,Font,"shellfont");
|
RESOURCE_ADD(fonte_des_neiges,Font,"shellfont");
|
||||||
|
|
||||||
|
|
||||||
MeshNode* mnode/* = new MeshNode(fonte_des_neiges->getTextMesh("Hello World!"));
|
MeshNode* mnode/* = new MeshNode(fonte_des_neiges->getTextMesh("Hello World!"));
|
||||||
scene.addObject(scene.getRootObject(),mnode)*/;
|
scene.addObject(scene.getRootObject(),mnode)*/;
|
||||||
|
|
||||||
|
|
||||||
mnode = new MeshNode(fonte_des_neiges->getTextMesh("WOW", glm::vec3(0.5, 0.7, 0.2)));
|
mnode = new MeshNode(fonte_des_neiges->getTextMesh("Portez ce vieux whisky au juge blond qui fume.", glm::vec3(0.5, 0.7, 0.2)));
|
||||||
// mnode->setTransform(glm::rotate(glm::translate(glm::mat4(), glm::vec3(70, 30, 0)), 0.4f, glm::vec3(0, 0, 1)));
|
// mnode->setTransform(glm::rotate(glm::translate(glm::mat4(), glm::vec3(70, 30, 0)), 0.4f, glm::vec3(0, 0, 1)));
|
||||||
utils::setPosition2D(mnode,glm::vec2(180, 400));
|
utils::setPosition2D(mnode,glm::vec2(180, 400));
|
||||||
scene.addObject(scene.getRootObject(),mnode);
|
scene.addObject(scene.getRootObject(),mnode);
|
||||||
@ -80,7 +77,7 @@ int main(){
|
|||||||
engine.outputShell("Hello World!");
|
engine.outputShell("Hello World!");
|
||||||
engine.outputShell("Starting test :");
|
engine.outputShell("Starting test :");
|
||||||
|
|
||||||
for(int i = 0; i < 15; i++){
|
for(int i = 0; i < 23; i++){
|
||||||
engine.outputShell(std::to_string(i));
|
engine.outputShell(std::to_string(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,11 +20,12 @@ void utils::setPosition2D(MeshNode *mnode, glm::vec2 pos){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void utils::resize2D(MeshNode *mnode, glm::vec2 dim, glm::vec2 new_dim){
|
void utils::resize2D(MeshNode *mnode, glm::vec2 dim, glm::vec2 new_dim){
|
||||||
|
glm::vec2 ratio(new_dim / dim);
|
||||||
|
scale2D(mnode,ratio);
|
||||||
|
}
|
||||||
|
|
||||||
|
void utils::scale2D(MeshNode* mnode, glm::vec2 ratio){
|
||||||
glm::mat4 tr = mnode->getTransform();
|
glm::mat4 tr = mnode->getTransform();
|
||||||
glm::vec3 pos(tr[3]);
|
tr = glm::scale(tr, glm::vec3(ratio.x,ratio.y,1));
|
||||||
glm::vec2 ratio = new_dim / dim;
|
|
||||||
tr = glm::scale(tr, glm::vec3(1,ratio.y,1));
|
|
||||||
glm::vec3 new_pos(tr[3]);
|
|
||||||
tr = glm::translate(tr,pos-new_pos);
|
|
||||||
mnode->setTransform(tr);
|
mnode->setTransform(tr);
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@ namespace utils
|
|||||||
std::vector<std::string> split(const std::string &line, char sep);
|
std::vector<std::string> split(const std::string &line, char sep);
|
||||||
void setPosition2D(MeshNode*, glm::vec2);
|
void setPosition2D(MeshNode*, glm::vec2);
|
||||||
void resize2D(MeshNode*, glm::vec2, glm::vec2);
|
void resize2D(MeshNode*, glm::vec2, glm::vec2);
|
||||||
|
void scale2D(MeshNode*, glm::vec2);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // UTILS_H
|
#endif // UTILS_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user