-
1. Data: 2014-06-18 18:26:38
Temat: sortowanie 3 wierzcholkow po y
Od: firr <p...@g...com>
potrzebuje jakiegos kodu ktory posortowalby 3 wierzcholki trojkata po y-ku tj jak mam
wierzcholki 1 2 3 to chce miec wierzcholki top middle down tak by to bylo jak
najszybsze(moze to byc z kopiowaniem typu top = 1 (gdzie top i 1 to 3 floaty ) ale
moze tez byc przez pointer - z tym ze dalej te top middle down sa ostro
wykorzystywanetak ze dostep do nich przez pointer chyba nie uchodzi tak ze pewnie
lepiej by to bylo z kopiowaniem
moj stary kod na to sortowanie: (ze zlymi nazwami ale nie chcialo mi sie przepisywac)
void FillTriangleWithDepthUnsafe (
float xA, float yA, float zA,
float xB, float yB, float zB,
float xC, float yC, float zC, unsigned color)
{
///////// posortowanie wierzcholkow w pionie //////////
float upx, upy, upz ,
midx, midy, midz ,
downx, downy, downz;
if(yA <= yB && yA <= yC)
{
upx = xA;
upy = yA;
upz = zA;
if(yB <= yC)
{
midx = xB;
midy = yB;
midz = zB;
downx = xC;
downy = yC;
downz = zC;
}
else
{
midx = xC;
midy = yC;
midz = zC;
downx = xB;
downy = yB;
downz = zB;
}
}
else if(yB <= yA && yB <= yC)
{
upx=xB;
upy=yB;
upz=zB;
if(yA <= yC)
{
midx = xA;
midy = yA;
midz = zA;
downx = xC;
downy = yC;
downz = zC;
}
else
{
midx = xC;
midy = yC;
midz = zC;
downx = xA;
downy = yA;
downz = zA;
}
}
else if(yC <= yA && yC <= yB)
{
upx=xC;
upy=yC;
upz=zC;
if(yB <= yA)
{
midx = xB;
midy = yB;
midz = zB;
downx = xA;
downy = yA;
downz = zA;
}
else
{
midx = xA;
midy = yA;
midz = zA;
downx = xB;
downy = yB;
downz = zB;
}
}
czy da sie wymyslec cos szybszego lub chociazby nie wolniejszego za to krotszego?
(prawdopodobnie nie moglbym tylko uzyc pewnie struktury i zrobic kopiowanie struktura
= struktura (i tak ten kod w runtime nie me chyba niemal blisko zadnego znaczenia ale
pytam dla formalnosci)
-
2. Data: 2014-06-20 02:15:59
Temat: Re: sortowanie 3 wierzcholkow po y
Od: g...@s...invalid (Adam Wysocki)
firr <p...@g...com> wrote:
> float xA, float yA, float zA,
> float xB, float yB, float zB,
> float xC, float yC, float zC, unsigned color)
[...]
> if(yA <= yB && yA <= yC)
Mozna zapytac, w jakim celu "<=", a nie "<"?
--
SELECT finger FROM hand WHERE id = 3;
http://www.chmurka.net/