Opengl huis probleem met deuren

Status
Niet open voor verdere reacties.

wahagn

Gebruiker
Lid geworden
10 apr 2008
Berichten
154
ik ben een spel aan het maken en heb van de site nehe een code gedownload om door kamers te lopen. Dus in virtuale world. Maar je moet een afbeelding kiezen die als texture worde gebruikt om het huis te maken. Ik een soort muur van google afgehaald om te gebruiken. Allen dan gebruikt hij door het hele huis die alleen die plaatje. En de deuren wil ik niet zo, die moeten van hout zijn.(DE VRAAG ) maar hoe zorg ik daarvoor??

de code verwijst naar een tekstbestand met ceordinaten die zijn zo:
Code:
NUMPOLLIES 36

// Floor 1
-3.0  0.0 -3.0 0.0 6.0
-3.0  0.0  3.0 0.0 0.0
 3.0  0.0  3.0 6.0 0.0

-3.0  0.0 -3.0 0.0 6.0
 3.0  0.0 -3.0 6.0 6.0
 3.0  0.0  3.0 6.0 0.0

// Ceiling 1
-3.0  1.0 -3.0 0.0 6.0
-3.0  1.0  3.0 0.0 0.0
 3.0  1.0  3.0 6.0 0.0
-3.0  1.0 -3.0 0.0 6.0
 3.0  1.0 -3.0 6.0 6.0
 3.0  1.0  3.0 6.0 0.0

// A1

-2.0  1.0  -2.0 0.0 1.0
-2.0  0.0  -2.0 0.0 0.0
-0.5  0.0  -2.0 1.5 0.0
-2.0  1.0  -2.0 0.0 1.0
-0.5  1.0  -2.0 1.5 1.0
-0.5  0.0  -2.0 1.5 0.0

// A2

 2.0  1.0  -2.0 2.0 1.0
 2.0  0.0  -2.0 2.0 0.0
 0.5  0.0  -2.0 0.5 0.0
 2.0  1.0  -2.0 2.0 1.0
 0.5  1.0  -2.0 0.5 1.0
 0.5  0.0  -2.0 0.5 0.0

// B1

-2.0  1.0  2.0 2.0  1.0
-2.0  0.0   2.0 2.0 0.0
-0.5  0.0   2.0 0.5 0.0
-2.0  1.0  2.0 2.0  1.0
-0.5  1.0  2.0 0.5  1.0
-0.5  0.0   2.0 0.5 0.0

// B2

 2.0  1.0  2.0 2.0  1.0
 2.0  0.0   2.0 2.0 0.0
 0.5  0.0   2.0 0.5 0.0
 2.0  1.0  2.0 2.0  1.0
 0.5  1.0  2.0 0.5  1.0
 0.5  0.0   2.0 0.5 0.0

// C1

-2.0  1.0  -2.0 0.0  1.0
-2.0  0.0   -2.0 0.0 0.0
-2.0  0.0   -0.5 1.5 0.0
-2.0  1.0  -2.0 0.0  1.0
-2.0  1.0  -0.5 1.5  1.0
-2.0  0.0   -0.5 1.5 0.0

// C2

-2.0  1.0   2.0 2.0 1.0
-2.0  0.0   2.0 2.0 0.0
-2.0  0.0   0.5 0.5 0.0
-2.0  1.0  2.0 2.0 1.0
-2.0  1.0  0.5 0.5 1.0
-2.0  0.0   0.5 0.5 0.0

// D1

2.0  1.0  -2.0 0.0 1.0
2.0  0.0   -2.0 0.0 0.0
2.0  0.0   -0.5 1.5 0.0
2.0  1.0  -2.0 0.0 1.0
2.0  1.0  -0.5 1.5 1.0
2.0  0.0   -0.5 1.5 0.0

// D2

2.0  1.0  2.0 2.0 1.0
2.0  0.0   2.0 2.0 0.0
2.0  0.0   0.5 0.5 0.0
2.0  1.0  2.0 2.0 1.0
2.0  1.0  0.5 0.5 1.0
2.0  0.0   0.5 0.5 0.0

// Upper hallway - L
-0.5  1.0  -3.0 0.0 1.0
-0.5  0.0   -3.0 0.0 0.0
-0.5  0.0   -2.0 1.0 0.0
-0.5  1.0  -3.0 0.0 1.0
-0.5  1.0  -2.0 1.0 1.0
-0.5  0.0   -2.0 1.0 0.0

// Upper hallway - R
0.5  1.0  -3.0 0.0 1.0
0.5  0.0   -3.0 0.0 0.0
0.5  0.0   -2.0 1.0 0.0
0.5  1.0  -3.0 0.0 1.0
0.5  1.0  -2.0 1.0 1.0
0.5  0.0   -2.0 1.0 0.0

// Lower hallway - L
-0.5  1.0  3.0 0.0 1.0
-0.5  0.0   3.0 0.0 0.0
-0.5  0.0   2.0 1.0 0.0
-0.5  1.0  3.0 0.0 1.0
-0.5  1.0  2.0 1.0 1.0
-0.5  0.0   2.0 1.0 0.0

// Lower hallway - R
0.5  1.0  3.0 0.0 1.0
0.5  0.0   3.0 0.0 0.0
0.5  0.0   2.0 1.0 0.0
0.5  1.0  3.0 0.0 1.0
0.5  1.0  2.0 1.0 1.0
0.5  0.0   2.0 1.0 0.0


// Left hallway - Lw

-3.0  1.0  0.5 1.0 1.0
-3.0  0.0   0.5 1.0 0.0
-2.0  0.0   0.5 0.0 0.0
-3.0  1.0  0.5 1.0 1.0
-2.0  1.0  0.5 0.0 1.0
-2.0  0.0   0.5 0.0 0.0

// Left hallway - Hi

-3.0  1.0  -0.5 1.0 1.0
-3.0  0.0   -0.5 1.0 0.0
-2.0  0.0   -0.5 0.0 0.0
-3.0  1.0  -0.5 1.0 1.0
-2.0  1.0  -0.5 0.0 1.0
-2.0  0.0   -0.5 0.0 0.0

// Right hallway - Lw

3.0  1.0  0.5 1.0 1.0
3.0  0.0   0.5 1.0 0.0
2.0  0.0   0.5 0.0 0.0
3.0  1.0  0.5 1.0 1.0
2.0  1.0  0.5 0.0 1.0
2.0  0.0   0.5 0.0 0.0

// Right hallway - Hi

3.0  1.0  -0.5 1.0 1.0
3.0  0.0   -0.5 1.0 0.0
2.0  0.0   -0.5 0.0 0.0
3.0  1.0  -0.5 1.0 1.0
2.0  1.0 -0.5 0.0 1.0
2.0  0.0   -0.5 0.0 0.0

en in de .dev bestand staat dit over de texture:
Code:
if (TextureImage[0]=LoadBMP("Data/Mudd.bmp"))
        {
                Status=TRUE;                            // Set The Status To TRUE

                glGenTextures(3, &texture[0]);          // Create Three Textures

				// Create Nearest Filtered Texture
				glBindTexture(GL_TEXTURE_2D, texture[0]);
				glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
				glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
				glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);

                // Create Linear Filtered Texture
                glBindTexture(GL_TEXTURE_2D, texture[1]);
                glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
                glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
                glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);

				// Create MipMapped Texture
				glBindTexture(GL_TEXTURE_2D, texture[2]);
				glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
				glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
				gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);
        }
        if (TextureImage[0])                            // If Texture Exists
        {
                if (TextureImage[0]->data)              // If Texture Image Exists
                {
                       free(TextureImage[0]->data);    // Free The Texture Image Memory
                }

               free(TextureImage[0]);                  // Free The Image Structure
        }

        return Status;                                  // Return The Status

kan iemanfd mij helpen ????????:rolleyes:
 
De vraag is ietsjes veranderd ik zoek nu game engines om die codes die ikk beschrevenheb niet meer zo te doen maar makkelijker : Weet iemand goede gameengines??? (Torque was geen oplossing )
 
* Ogre3D.. heeft een reputatie als een kanon een een zeer grote community. Af te raden als je op een sourcebuild wil werken, wel goed bruikbaar via de precompiled libs.

* IrrLicht (mijn persoonlijke favoriet).. relatief trage ontwikkel/release-cycle. Heeft sinds enige tijd ook IrrKlang voor audiomanagement. Draait op lichtere systemen dan Ogre.

* SDL: een library tussen pure OpenGL en een echte Engine. Niet echt handig voor 3D-ontwikkeling, maar zeker een aanrader als je in 2D werkt. De vindbare documentatie hierrond is wel meestal verouderd.
 
uit die optiesheb ik irrlight gedownload maar toen ik op hun site naar de eerste tutrial keek snapte ik het verschil tussen irrlight en dat ik gewoon in c++ die codes typ want ik zag geen verschil het waren gewoon het zelfde code enzo dus wat maakt de code van irrlicht dan maklikker of beter of wat dan ook als die van opengl enzo??
 
Laatst bewerkt:
... jij wilde een engine? dan weet je het verschil dus al.
als je iets een andere texture wilt geven moet je eerst een andere texture binden voordat je je vertices gaat tekenen
 
nou ik weet dat game engines er zijn om het voor je makkelijker te maken dsu darom vraag ik wat het verschil is
 
het verschil is of dat je het zelf doet of dat hun het voor je doen
 
uhh what? je hoeft je persoonlijke meningen niet op mij te projecteren, ik zeg alleen dat als je een engine gebruikt de stuff al voor je gedaan is en al doe je het niet dan moet je het zelf schrijven. ik heb helemaal niets gezegd over OF je een engine moet gebruiken, of iets over wat de standaard in het commerciele leven is, ik snap dus even niet hoe jij die link legt met wat ik gezegd heb.
 
wat ik zei is niet kwaad bedoelt ofso hoor. en ik bedoel dat wat jij zegt van het is al gedaan niet veel gedaan is, het is niet effe op een paar knopjes drukken en klaar want dat had ik dacht dat hje dat bedoelde... ik dacht dat je bedoelde van dat kan idereen wel als het al makkeliker gemaakt is...
 
Laatst bewerkt:
wahagn;2472114want ik zag geen verschil het waren gewoon het zelfde code enzo dus wat maakt de code van irrlicht dan maklikker of beter of wat dan ook als die van opengl enzo??[/QUOTE zei:
Een van de belangrijke onderdelen van een Engine is dat je nog steeds aan de basis moet blijven kunnen.
Een van de eigenschappen van tutorials is dat ze vanaf 0 opbouwen en je stap voor stap uitleggen hoe je tot iets komt. Vandaar dat in de eerste tutorial waarschijnlijk nog pure openGL-achtige dingen staan. Je kan namelijk niet goed werken met een engine als je niet weet hoe die in elkaar zit.

Kijk anders even naar het sample van Sydney, daarin zie je al wat meer enginecode zoals SceneManager->addNode(new Node("mesh.md2")) (code is puur illustratief en niet correct maar uit mijn duim). Het voordeel van de engine is dan dat ie dat volledige 3Dmodel inlaadt en rendered rekening houdend met de omgeving en evt. belichting die in de mesh zit.. 1 regel code, tegenover een paar honderden in OpenGL. Dat is het voordeel van een engine..
 
oh ik snap het het gebruikt in plaats van net als opengl doet alles helemaal aan de engine uitleggen hoe die dat moet daan staat het al in een andere document ofso en hoef jij maar 1 of 2 zinnetjes te typen
die dan die vele zinnen die in een ander door de engine makers bestand staan op te roepen??

edit ik heb ook nog irrEdit gewonload en er iets moois mee gemaakt maar nou wil ik het laden in de game engine en dat lukt niet ik had eerst allen de load adrses verandert maar daarna heb ik het met een tutrial gedaan en ook een paar andere dingen gewijzigd maar het lukt nog steeds niet
 
Laatst bewerkt:
@wahagn:
Voor beginners raad ik BlueJ aan, een inmiddels redelijk bekende objects-first methodiek voor java. klik. Er staat absoluut niets in over 3d engines ofzo, maar na het lezen van dit boek weet je tenminste wat libraries zijn.

Succes!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan