Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - Khaine

Strony: 1 [2] 3 4 5 6 ... 14
16
Szkółka / Odp: Kolizja 3D z modelem miasta jako jednym obiektem.
« dnia: Styczeń 17, 2010, 02:51:48 »
jesli wystarcza Ci zwykle prostopadlosciany do kolizjii to PhysX dysponuje prostymi ksztaltami, bez ladowania meshy. W tym przypadku mozesz uzyc box'a.

17
Językoznawstwo / Odp: Języki
« dnia: Styczeń 16, 2010, 03:50:31 »
Cytuj
Tłustym drukiem jes to , czego nie rozumiem. Mógłby ktoś to objaśnić ?
ja bym zaczal od tego, ze w j. angielskim nie ma slow 'acces' oraz 'denided' :P W zwiazku z tym, przychyle sie do tego co napisal 0xCAFE

Cytuj
Wystarczy angielski
...na dobry poczatek ;)

18
.NET i XNA / Odp: .NET + skrypty
« dnia: Styczeń 15, 2010, 22:36:14 »
Cytuj
Skoro piszesz w pełnym .NET, dlaczego nie użyć C# jako języka skryptowego?
bo wszelkie "eval'e" to zlo ;)

19
Inne / Odp: Wykład Gnaszyńca
« dnia: Styczeń 08, 2010, 15:37:00 »
nie znalazlem nigdzie informacji czy sa jakies zapisy. Aula w koncu ma ograniczona ilosc miejsc, a pewnie kupa studentow przyjdzie.

20
Platformy / Odp: Unicode na kilku platformach.
« dnia: Styczeń 06, 2010, 13:43:31 »
Cytuj
O tym już myślałem i właśnie zastanawiam się jak to najlepiej zrealizować...
napisz wlasna klase string ze znakami typu unsigned short

21
Szkółka / Odp: Projektowanie systemu wyjątków
« dnia: Grudzień 20, 2009, 18:35:59 »
ja, jesli moge, wylaczam RTTI. Mniejszy kod to szybszy kod. Mozna zyskac na tym nawet kilkanascie klatek wiecej ;)

22
Szkółka / Odp: Przeciazenie funkcji
« dnia: Grudzień 19, 2009, 11:54:34 »
Cytuj
Przede wszystkim fascynuje mnie co autor testu miał na myśli przez test float to double: %d, bo %d to akurat zwykły int.
bo pewnie chodzilo o "test float to int". Rownie dobrze moglo tam nic nie byc napisane, wazny jest rezultat z konkretna maska.

23
C++ / Odp: SZablony, zwracany typ
« dnia: Grudzień 18, 2009, 12:54:51 »
a wywolaj te funkcje jawnie skonkretyzowane. Mi w obu przypadkach wypisuje 12

24
Cytuj
Khaine, dzięki za chęci, ale chodzi mi jak już o sortowaną multimapę, przy czym dodawanie elementów musi być możliwie szybkie. Przesortowanie tej mapy której mi podałeś to O(n), czyli niczym się nie różni od zwykłej listy
hmm ja Ci dalem pierwszy link z googli, wygrzebalo sie znacznie wiecej roznych multimap. Chcialem Ci pokazac, ze mozesz w necie znalezc, o ile o taka strukture Ci chodzi.

Chcesz miec sortowanie po kluczach, wartosciach czy po obu?

25
Szkółka / Odp: [VS] Obliczanie normalnych
« dnia: Grudzień 18, 2009, 03:15:14 »
Cytuj
Wektor styczny do ?
do plaszczyzny.

Cytuj
dwunormalny == binormalna ?
dokladnie tak.

Wektor styczny, binormalny i normalny skladaja sie na trojscian Freneta. Iloczyn wektorowy dowolnych dwoch daje trzeci. Normalna wyliczysz, bo wszystkie te wektory sa ustawione pod katem prostym do siebie. Lektura do poduszki: http://math.uni.lodz.pl/~pawelwal/Dg-wstep.pdf

normalna mozna tez wyliczyc z wierzcholkow trojkata. Wiec w vertex shaderze musial bys miec pozycje 3 wierzcholkow skladajacych sie na konkretny trojkat, a to nie przejdzie. Musial bys z innego shadera skorzystac.

26
z tego co zrozumialem chodzi Ci o multimape http://dotnetperls.com/multimap

27
Szkółka / Odp: [VS] Obliczanie normalnych
« dnia: Grudzień 18, 2009, 02:46:50 »
na ten przyklad: wektor styczny i dwunormalny

28
C++ / Odp: Wsparcie procesorów dla MMX, SSE itp.
« dnia: Grudzień 18, 2009, 02:45:37 »
no bo na tym polega streaming. Tak samo jak w gpgpu

29
C++ / Odp: Wsparcie procesorów dla MMX, SSE itp.
« dnia: Grudzień 16, 2009, 21:50:28 »
ano sprawdzalem, zreszta posrednio o tym pisalem. Wydaje mi sie, ze najwydajniejszy kod assemblera to ten najkrotszy (pomijajac ilosc cykli na operacje) (nie jestem wyjadaczem asm, wiec moge mowic herezje), a dla "normalnej" wersji kazdej z funkcji, ktora uzywalem, kod assemblera byl zdecydowanie najkrotszy. Dla sse w przypadku iloczunu skalarnego kod asm jest ok. 3 razy dluzszy.

Mniej wiecej tak wyglada dot (debug):
xst_fi f32 DotRef(const Vec3& _vecLeft, const Vec3& _vecRight)
{
/*
        kod wygenerowany dla ponizszej linijki, bez return
0135FB2E  mov         eax,dword ptr [_vecLeft]
0135FB31  fld         dword ptr [eax]
0135FB33  mov         ecx,dword ptr [_vecRight]
0135FB36  fmul        dword ptr [ecx]
0135FB38  mov         edx,dword ptr [_vecLeft]
0135FB3B  fld         dword ptr [edx+4]
0135FB3E  mov         eax,dword ptr [_vecRight]
0135FB41  fmul        dword ptr [eax+4]
0135FB44  faddp       st(1),st
0135FB46  mov         ecx,dword ptr [_vecLeft]
0135FB49  fld         dword ptr [ecx+8]
0135FB4C  mov         edx,dword ptr [_vecRight]
0135FB4F  fmul        dword ptr [edx+8]
0135FB52  faddp       st(1),st
0135FB54  fstp        dword ptr [ebp-0C4h]
0135FB5A  fld         dword ptr [ebp-0C4h]
*/
      return _vecLeft.x * _vecRight.x + _vecLeft.y * _vecRight.y + _vecLeft.z * _vecRight.z;
}

i dla sse
xst_i f32 DotSSE2(const Vec3& _vecLeft, const Vec3& _vecRight)
{
/*
013673AA  mov         eax,dword ptr [ebx+0Ch]
013673AD  movaps      xmm0,xmmword ptr [eax]
013673B0  mov         ecx,dword ptr [ebx+8]
013673B3  movaps      xmm1,xmmword ptr [ecx]
013673B6  mulps       xmm1,xmm0
013673B9  movaps      xmmword ptr [ebp-180h],xmm1
013673C0  movaps      xmm0,xmmword ptr [ebp-180h]
013673C7  movaps      xmmword ptr [ebp-20h],xmm0
*/
m128 r1 = _mm_mul_ps( _vecLeft.xyzw , _vecRight.xyzw );
/*
013673CB  movaps      xmm0,xmmword ptr [ebp-20h]
013673CF  movaps      xmm1,xmmword ptr [ebp-20h]
013673D3  movhlps     xmm1,xmm0
013673D6  movaps      xmmword ptr [ebp-160h],xmm1
013673DD  movaps      xmm0,xmmword ptr [ebp-160h]
013673E4  movaps      xmm1,xmmword ptr [ebp-20h]
013673E8  addps       xmm1,xmm0
013673EB  movaps      xmmword ptr [ebp-140h],xmm1
013673F2  movaps      xmm0,xmmword ptr [ebp-140h]
013673F9  movaps      xmmword ptr [ebp-20h],xmm0
*/
r1 = _mm_add_ps( r1, _mm_movehl_ps(r1, r1));
/*
013673FD  movaps      xmm0,xmmword ptr [ebp-20h]
01367401  movaps      xmm1,xmmword ptr [ebp-20h]
01367405  shufps      xmm1,xmm0,0E5h
01367409  movaps      xmmword ptr [ebp-120h],xmm1
01367410  movaps      xmm0,xmmword ptr [ebp-120h]
01367417  movaps      xmm1,xmmword ptr [ebp-20h]
0136741B  addps       xmm1,xmm0
0136741E  movaps      xmmword ptr [ebp-100h],xmm1
01367425  movaps      xmm0,xmmword ptr [ebp-100h]
0136742C  movaps      xmmword ptr [ebp-20h],xmm0
*/
r1 = _mm_add_ps( r1, _mm_shuffle_ps(r1, r1, _MM_SHUFFLE(3, 2, 1, 1)));
return r1.m128_f32[0];
}
Duzo mov'a, ktory przeciez nie jest darmowy.

30
C++ / Odp: [SOLVED] Unia a std::string
« dnia: Grudzień 16, 2009, 21:28:38 »
mozna zawsze uzyc null-terminated stringa.
Cytuj
struct str
{
 char* buff;
 uint rozmiar;
};

union
{
  float f;
  int i;
  str s;
};

Ja mam tak u siebie, tylko, ze buff jest stalego rozmiaru. Oczywiscie korystajac ze wskaznika musisz sam to czyscic. Zawsze taka unie mona wsadzic do tymczasowego obiektu, ktory w destruktorze bedzie czyscil bufor. Zalezy od implementacji.

Strony: 1 [2] 3 4 5 6 ... 14