NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 7 - 3D bludiště v XNA - Krabice a koule

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Michael Olšavský:26.3.2013 23:10

Tak tenhle díl mě totálně zmátl. Vůbec nevím, co jsem dělal. Jen útržky z kódu. Jak se např. používá ten VertexBuffer, které metody kam patří.... Nějak sem to zkopíroval, ale z té druhé části vážně nic moc nemám.

 
Odpovědět
26.3.2013 23:10
Avatar
vodacek
Tvůrce
Avatar
Odpovídá na Michael Olšavský
vodacek:2.4.2013 20:57

matení nepřítele je jedna z mojich specialit, nicméně jsem o nich napsal článek, budou ještě docela potřeba

 
Odpovědět
2.4.2013 20:57
Avatar
magic44
Tvůrce
Avatar
magic44:23.5.2013 11:31

Dobrej článek. Matení je opravdu tvoje specialita :). Mám dotaz, proč se mi drátová krabice zobrazuje v 1. kostce, která tvoří zeď (je to z počátečního pohledu šouplý o 1 do leva a dopředu).

Editováno 23.5.2013 11:33
Odpovědět
23.5.2013 11:31
Moudrý člověk nechce být lepší než ostatní, ale lepší, než byl sám včera.
Avatar
vodacek
Tvůrce
Avatar
Odpovídá na magic44
vodacek:23.5.2013 14:57

no to bez kodu těžko říct

 
Odpovědět
23.5.2013 14:57
Avatar
magic44
Tvůrce
Avatar
magic44:23.5.2013 15:47

Nevim, žádnou chybu jsem tam nenašel (podle ukázky kódu).

public class BoundingRenderer
   {
       private static BasicEffect efekt;
       private static GraphicsDevice graphics;
       private static VertexPositionColor[] krabiceVerts = new VertexPositionColor[8];

       private static readonly int[] krabiceIndices = new int[]
       {
           0,1,
           1,2,
           2,3,
           3,0,
           0,4,
           1,5,
           2,6,
           3,7,
           4,5,
           5,6,
           6,7,
           7,4
       };

       public static void Initialize(GraphicsDevice device)
       {
           efekt = new BasicEffect(device);
           efekt.LightingEnabled = false;
           efekt.VertexColorEnabled = true;

           graphics = device;
       }

       public static void Render(BoundingBox box, Matrix view, Matrix projection, Color color)
       {
           Vector3[] corners = box.GetCorners();
           for (int i = 0; i < 8; i++)
           {
               krabiceVerts[i].Position = corners[i];
               krabiceVerts[i].Color = color;
           }

           efekt.View = view;
           efekt.Projection = projection;

           //Vykreslení čar.
           efekt.CurrentTechnique.Passes[0].Apply();
           graphics.DrawUserIndexedPrimitives(PrimitiveType.LineList, krabiceVerts, 0, 8, krabiceIndices, 0, krabiceIndices.Length / 2);
       }
   }

A MojeHerniOkno:

public override void Draw()
       {
           base.Draw();
           BoundingBox box = new BoundingBox(Vector3.Zero, new Vector3(-20, 20, -20));
           BoundingRenderer.Render(box, Kamera.View, Kamera.Projection, Color.Purple);
       }
Odpovědět
23.5.2013 15:47
Moudrý člověk nechce být lepší než ostatní, ale lepší, než byl sám včera.
Avatar
vodacek
Tvůrce
Avatar
Odpovídá na magic44
vodacek:23.5.2013 16:27

vypadá to celkem nornálně jen bych do vykreslení přidal pro jistotu:

efekt.World=Matrix.Identity;
 
Odpovědět
23.5.2013 16:27
Avatar
magic44
Tvůrce
Avatar
Odpovídá na vodacek
magic44:23.5.2013 19:48

Nic se po přidání bohužel nezměnilo.:(

Odpovědět
23.5.2013 19:48
Moudrý člověk nechce být lepší než ostatní, ale lepší, než byl sám včera.
Avatar
vodacek
Tvůrce
Avatar
Odpovídá na magic44
vodacek:23.5.2013 19:57

a fotka toho co to dělá by nebyla?

 
Odpovědět
23.5.2013 19:57
Avatar
magic44
Tvůrce
Avatar
Odpovídá na vodacek
magic44:24.5.2013 12:13

Tady.

Odpovědět
24.5.2013 12:13
Moudrý člověk nechce být lepší než ostatní, ale lepší, než byl sám včera.
Avatar
vodacek
Tvůrce
Avatar
vodacek:24.5.2013 15:41

no ale ono to je na správnym místě :-D

 
Odpovědět
24.5.2013 15:41
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 16.