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()
|
||||
{
|
||||
m_running = true;
|
||||
for(int i = 0;i<5;i++)
|
||||
m_sparrowshell->scrollUp();
|
||||
while(!m_input->isCloseRequested() && m_running)
|
||||
update();
|
||||
}
|
||||
|
@ -39,10 +39,12 @@ void SparrowShell::out(std::string s)
|
||||
|
||||
void SparrowShell::scrollUp(){
|
||||
if (m_index + BUFFER_DISPLAYED_NUMBER < m_buffer.size()) m_index++;
|
||||
std::cout << "scroll up" << std::endl;
|
||||
}
|
||||
|
||||
void SparrowShell::scrollDown(){
|
||||
if (m_index > 0) m_index--;
|
||||
std::cout << "scroll up" << std::endl;
|
||||
}
|
||||
|
||||
void SparrowShell::update()
|
||||
|
@ -27,17 +27,16 @@ int main(){
|
||||
SceneTree scene;
|
||||
|
||||
/* Exemple creation mesh 2D
|
||||
*
|
||||
*/
|
||||
**/
|
||||
Mesh* mesh = new Mesh();
|
||||
mesh->addRectangle2D(180, 400,5,5);
|
||||
mesh->addRectangle2D(180, 400,10,64);
|
||||
PhongMaterial *mat = new PhongMaterial();
|
||||
mat->diffuse = glm::vec3(1, 0.5, 0);
|
||||
mesh->setMaterial(mat);
|
||||
mesh->setDepth(1);
|
||||
mesh->initGL();
|
||||
scene.addObject(scene.getRootObject(),new MeshNode(mesh));
|
||||
/* */
|
||||
/**/
|
||||
|
||||
/* 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");
|
||||
RESOURCE_ADD(fonte_des_neiges,Font,"shellfont");
|
||||
|
||||
|
||||
MeshNode* mnode/* = new MeshNode(fonte_des_neiges->getTextMesh("Hello World!"));
|
||||
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)));
|
||||
utils::setPosition2D(mnode,glm::vec2(180, 400));
|
||||
scene.addObject(scene.getRootObject(),mnode);
|
||||
@ -80,7 +77,7 @@ int main(){
|
||||
engine.outputShell("Hello World!");
|
||||
engine.outputShell("Starting test :");
|
||||
|
||||
for(int i = 0; i < 15; i++){
|
||||
for(int i = 0; i < 23; 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){
|
||||
glm::vec2 ratio(new_dim / dim);
|
||||
scale2D(mnode,ratio);
|
||||
}
|
||||
|
||||
void utils::scale2D(MeshNode* mnode, glm::vec2 ratio){
|
||||
glm::mat4 tr = mnode->getTransform();
|
||||
glm::vec3 pos(tr[3]);
|
||||
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);
|
||||
tr = glm::scale(tr, glm::vec3(ratio.x,ratio.y,1));
|
||||
mnode->setTransform(tr);
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ namespace utils
|
||||
std::vector<std::string> split(const std::string &line, char sep);
|
||||
void setPosition2D(MeshNode*, glm::vec2);
|
||||
void resize2D(MeshNode*, glm::vec2, glm::vec2);
|
||||
void scale2D(MeshNode*, glm::vec2);
|
||||
}
|
||||
|
||||
#endif // UTILS_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user