Onde as mentes criativas se encontram!


 
Cambalinho
Membro
Membro
Autor
Mensagens: 49
Registrado em: Qui Jul 20, 2017 9:59 am

como evitar de usar muito o CPU?

Sex Nov 10, 2017 2:46 pm

{
//Width:
width=argument1;

//Height:
height=argument2;

//Z:
z=argument3;

//Z width:
zwidth=argument4;

TextureWidth=background_get_width(argument0);
TextureHeight=background_get_height(argument0);
Texture=background_get_texture(argument0);
posx=0;
posy=0;
posz=0;
for (posz=0;posz<=zwidth;posz+=TextureHeight)
{
for (posx=0;posx<=width;posx+=TextureWidth)
{
for (posy=0;posy<=height;posy+=TextureWidth)
{

//front:
d3d_draw_wall(posx, posy, posz, posx, posy+TextureWidth, posz+TextureHeight, Texture,1,1);

//back:
d3d_draw_wall( posx+TextureWidth, posy+TextureWidth, posz+TextureHeight,posx+TextureWidth,posy,posz, Texture,1,1);

//left:
d3d_draw_wall( posx+TextureWidth, posy, posz+TextureHeight,posx,posy,posz, Texture,1,1);

//right:
d3d_draw_wall( posx+TextureWidth, posy+TextureWidth, posz+TextureHeight,posx,posy+TextureWidth,posz, Texture,1,1);
}
}
}

}


eu tenho este codigo para desenhar 1 parede 3D. mas esta limitado.
não está indentificado devido ao Library Maker não conter essa opção.
como vê eu demonstro que vou desenhar 4 partes da parede(frente, trás e as laterais). este codigo funciona mas tem 1 erro de dimensões.
para poupar CPU eu usei o 'for' 3 vezes para desenhar as 4 partes ao mesmo tempo. mas o meu erro actual é não delimitar essas partes.
se usar 3 'for' por cada parte, eu uso muito CPU.
estou a desenhar varias partes até ao limite(height, width e zwidth), para 'corrigir' o bug da iluminação.
alguem me pode ajudar a corrigir a minha ideia?

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes