Nybörjarguide till OpenGL: Bygg din egen CAD-program (12 / 14 steg)

Steg 11: Färdigställande: flera kuber och vyer och registrera klick

Algoritmen för skapa kuber är den bästa min hjärna kunde hosta ut, så om du har en bättre metod eller hitta eventuella brister i koden, behaga låta mig veta jag förbättrar min kod.



currentGeometry och objCount initieras till

currentGeometry = 1;

objCount = -3;

på varje gång du klickar på generera ny kub är båda tillväxten.

initiera är en matris av statiska element används för att styra if() uttalande som innehar variablerna för att lagra platsen och skalning historia tidigare objekt i scenen.

Första kuben

|| manipulera cube||

Slutet

Andra kub

|| lagra omformningarna av tidigare kuben [1] || //in en matris

|| manipulera cube||

|| Display kuber från array||

Slutet

Tredje kub

|| lagra omformningarna av tidigare kuben [2] ||

|| manipulera cube||

|| Display kuber från array||

Slutet

och så vidare...

Så lång historia kort, antalet kuber begränsas av storleken på matrisen. Så du vet behövs ett bättre system, ska kanske jag lista ut i nästa version.

Xposition Yposition Zposition lagra på koordinaten plats i 3D-rymden och X y Zsize lagra skalningen. Som ni kan se i början av varje ny kub skapelse, behövde jag en metod för att lagra dessa värden av tidigare kuben. så jag förklarade en statisk rad körs initiera [n] vilket gör här hela koden endast en gång i början av inrättandet av ett nytt objekt, spåras av variabeln objCount .

Som ni kan se skapandet av kuber är mycket skumma och påverka funktionen i programmet negativt.

Låt oss ta en titt på funktionen cube() :

Jag har tagit bort koden för ritning kuben för tydlighetens skull.

argument för funktionen ta i den 3D-koordinater som du vill rita kuben, storleken på kuben du vill vara och vilka vyport det är tänkt att gå i.

om jag passerar värdet 1, betyder detta att jag vill ha det i den huvudsakliga vyport (vyport B)

Om jag passerar värde 2 eller 3, betyder det jag vill ha kuben i en av de nedre två visningsportar för framsidan och vyn sida.

En sak att vara försiktig med är innan med glScalef (x, y, z), måste du använda en ny matris med glPushMatrix() eftersom skalning verksamhet tidigare kuben kan överföras till ett nybildat kub.

En sak jag glömde att nämna är att skapa knappen klicka händelser själv.

Steg 1: Placera knapparna i de önskade positionerna.

Steg 2: Utkast till koordinatmodell för varje enskild knapp på en bit papper.

Steg 3: Lägg till kod,

På varje klick i visningsområdet kontrolleras det om en knappbild klickas.

Steg 4: Anropa funktionen i de viktigaste loop, när en click-händelse registreras.

Om ett musklick är registrerat, kommer att det kontrollera om en klickar. I själva verket skulle kunna förbättras genom att först kontrollera vilken vyport click-händelsen inträffade, om det var den med knapparna, så kolla det enorma rutnätet av if() villkor.

Se Steg
Relaterade Ämnen

Nybörjarguide till att bygga Arduino robotar med Bluetooth och Android

i den här guiden vi gå mot att skapa en Arduino robot som kan styras via bluetooth med en Android-telefon/tablett. Detta är en Nybörjarguide som kommer att kort gå över ledningar och programmering din robot.Steg 1: Bygga lista... Följande är en lista...

Nybörjarguide till att ansluta din RC plan elektroniska delar

Jag gillar bygga RC flygplan. Ett problem jag hade var som inte kunde hitta en guide till grunderna i ansluta alla elektronik delar tillsammans (på instructables). Förhoppningsvis hjälper denna I'ble dig att komma igång med ditt RC plan.Mitt mål är a...

Hur till bygga din egen rörliga Tardis!

Få din "hur att bygga din egen Tardis Kit" & en annan klar Tardis för skala.Steg 1: Steg 1 öppna Tardis Kit Steg 1 Öppna "Hur att bygga din egen Tardis Kit"Kontrollera att du har alla bitar du behöver!Steg 2: Steg 2 sätta lampa i T...

Hur till bygga din egen MUGEN deltagarlistan

har du någonsin velat göra din egen fighting spel men inte har tid eller kunskap att göra det? Bra MUGEN är det första steget för alla fighting spel med dessa drömmar att starta. Med MUGEN, kan du bygga din egen fightingspel med alla tecken du vill,...

Hur till bygga din egen vikt maskin

hur att bygga din egen vikt maskin och spara en massa pengar,...

Bygga din egen elektrisk motorcykel

ÖversiktDet färdiga projektet är en 1981 Kawasaki KZ440, omvandlas till elektriska. Den drivs av fyra Optima gul topp förseglade (AGM) bly-syra batterier, som driver en Briggs & Stratton Etek elmotor. Hastigheten på motorn styrs av en Alltrax varumär...

Bygga din egen gateway brandvägg

lär dig att bygga din egen gateway brandvägg med FreeBSD® och gamla PC delar. Brandväggen kommer att bestå av PF brandväggen, Snort-ID: N, olika IPS applikationer, Squid proxy och några intuitivt webbgränssnitt för revision. Kostnaden för detta proje...

Nybörjarguide till felsökning i MPLABX med ChipKIT PRO MX7 av DIGILENT

Detta Instructable är en Nybörjarguide till felsökning kod programmerat i MPLAB X IDE v2.0. De åtgärder som omfattas är gemensam tillämpning av debugger programvara och problem jag stött på som en nybörjare användare och en oerfaren programmerare. In...

En Wide Body Quadrotor - mönster och idéer för att bygga din egen.

Multirotors--hur coola de är!En quadrotor är en typ av multirotor flygplan. Dessa flygplan är enklare än någonsin att bygga. Du kan börja med denna maskin och öka dess kapacitet (och komplicerade) som du lära dig mer. Din erfarenhet, kunskap och resp...

Bygga din egen "Spy Satellite"

Jag har alltid trott det skulle vara snyggt att ha din egen "Spion" satellit. Det faktum att vi har vår egen Spy satelliter reser runt jorden bara förvånar mig. Så varför inte ha din egen? Följande instructable visar hur att göra just det, bygga...

Bygga din egen hake dator

Datorer har blivit allt mer svårare att tränga in och lära dig hur de fungerar. Med denna installation, använder en gammal z80 8 bitars mikroprocessor, kan du lära dig hur en dator fungerar i detalj och används för att utöka din elektronik projekt! H...

Bygg din egen (billigt!) multi-function Trådlös kamera controller.

IntroductionNågonsin tyckte att bygga din egen kamera controller?VIKTIGT: Kondensatorer för MAX619 är 470n eller 0.47u. Schematiskt är korrekt, men komponentlistan var fel - uppdaterad.Detta är en post i Digital dagar tävlingen så om du tycker det är...

Bygga din egen hund hus

Detta var min allra första instructable. Jag diskuterade med ett projekt att bygga för en klass, när det slag av föll i mitt knä. Jag hoppas alla nybörjare och nybörjare hundägare både, njuta av det.Att vara en helt ny stolt valp ägare, tog jag de up...

DIY, BYGGA DIN EGEN DIGITALA BINARY CLOCK!

Detta Instructable visar hur man bygger en digital klocka på enklaste sätt. Du behöver bara några verktyg och lite tid...Steg 1: Introduktion Det finns två sätt att bygga din egen binär klocka.1.-en är till göra din egen PCB. Att lära sig lite av mik...

Bygga din egen dator

varför skulle någon gå ut och köpa en dator från en manufaturer som Dell eller Gateway, när de kunde bygga en mer kraftfull dator för mindre pengar? Svaret, de vet inte hur man bygger den.Detta kanske låter som en komplicerad process, men i alla verk...

Bygg din egen elbil!

"Electro-Metro" projektet.Har inte råd en Nissan Leaf? Inga problem!Bygga en billig elbil själv genom att ta bort den bilen motorn, ersätta den med en gaffeltruck motor, och lägga till batterier.Jag har massor av videor om projektet på:http://ww...

Bygga din egen jorden ugn

Vem älskar inte läcker vedeldad ugn pizza? INGEN.Jag hade en dröm om bakgård pizza part kul gånger och började göra en del efterforskningar att göra det dröm verklighet.Först tittade jag på material kostnaden för en tegelugn (spoiler alert: de är all...

Bygg din egen hörsel Augmented Seashell!

i detta Instructable jag kommer att förklara hur man bygger din egen hörsel Augmented Seashell. Nu, innan vi börjar, vad är en auditiv Augmented Seashell?Svar: i princip är det en snäcka kan producera andra ljud än det redan gör. En snäcka producerar...

Bygga din egen Mobility Rehab handikappade Scooter för mindre än $500

Jag kan visa dig hur du konverterar en rakkniv E300 skoter, föreslår jag att du köpa från Amazon.com bör vara omkring $250, i din egen Rehab handikappade scooter. E300 skoter får du har bara en hastighet. Hög hastighet, eller kusten, inget däremellan...