IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 7. diel - 3D bludisko v XNA - Škatule a guľa

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
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.

 
Odpovedať
26.3.2013 23:10
Avatar
vodacek
Tvůrce
Avatar
Odpovedá 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

 
Odpovedať
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).

Editované 23.5.2013 11:33
Odpovedať
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
Odpovedá na magic44
vodacek:23.5.2013 14:57

no to bez kodu těžko říct

 
Odpovedať
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);
       }
Odpovedať
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
Odpovedá 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;
 
Odpovedať
23.5.2013 16:27
Avatar
magic44
Tvůrce
Avatar
Odpovedá na vodacek
magic44:23.5.2013 19:48

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

Odpovedať
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
Odpovedá na magic44
vodacek:23.5.2013 19:57

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

 
Odpovedať
23.5.2013 19:57
Avatar
magic44
Tvůrce
Avatar
Odpovedá na vodacek
magic44:24.5.2013 12:13

Tady.

Odpovedať
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

 
Odpovedať
24.5.2013 15:41
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!