Gå til innhold

Still spørsmål innen spill og grafikk programmering


Anbefalte innlegg

Videoannonse
Annonse

Er du sikker på at quaternionen din alltid er normal? Hvis du lager den med new Quaternion(axis, rad); vil den kun være normal hvis axis er normal. Siden du ikke normaliserer axis i quaternionkoden din må du forsikre deg om at den er normal før den sendes inn.

 

Så hvis du lager en ny quaternion slik, og så kaller ToMatrix er du ikke garantert at matrisen du får ut er ortogonal, siden vektoren ikke nødvendigvis er normal. Gjør du vektoren normal før du lager quaternionen, eller normaliserer quaternionen før du returnerer matrisen, vil du få ut en ortogonal matrise, ellers ikke.

Lenke til kommentar

Hei

 

Jeg har aldri holdt på med programmering så eg er heilt nybegynner på det området. Så det eg lurte på om noen viste om ei bra bok som kan hjelpe meg på vei til å programmere spill ?

Den bør helst være lett å forstå

 

MvH

Roterau

Lenke til kommentar

Jeg hadde først lært meg C++ basics, er masse gode guider på Internet. Ellers finnes det vel noen tråer med bok anbefalinger på forumet her.

 

Etter det kan du ta en titt her: http://www.lazyfoo.net/SDL_tutorials/index.php

 

Er veldig gode tutorials som gir deg en god innføring i spillprogrammering. Men krever at du kan C++ fra før av.

 

 

Så lurer jeg på noe:

 

Noen som vet om bøker eller gode guider som tar for seg "Particle Systemer". Har lest en del rundt på internet. Men føler jeg ikke finner noe som går litt mer i dybden.

Lenke til kommentar

Noen som vet om bøker eller gode guider som tar for seg "Particle Systemer". Har lest en del rundt på internet. Men føler jeg ikke finner noe som går litt mer i dybden.

 

Jeg vet ikke om noen bok som bare handler om partikler, men du burde kjøpe deg en spillprogrammering fysikk bok, fordi de pleier å inneholde partikkel systemer.

Lenke til kommentar

Jeg har "Fundamentals of math and physic for game programmers". Men den innholder ikke noe om partikler.

 

Er også på utkikk etter en god bok som omhandler spillprogrammering med opengl. Gjerne for litt viderekommende.

 

Har tittet litt på denne:

http://www.amazon.com/gp/product/0123751039/ref=s9_simh_gw_p14_i1?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1YCC3JQ56EJ9J6KF03VQ&pf_rd_t=101&pf_rd_p=470938631&pf_rd_i=507846

 

Vis du har noen bøker å anbefale er det bare å si i fra :)

Endret av Glutar
Lenke til kommentar

 

Vis du har noen bøker å anbefale er det bare å si i fra :)

 

Hvis du er ute etter en oppslag bok så er "More on OpenGL programming en bra bok". Du burde ha lest "Beginning opengl programming" før du leser denne boken.

 

Har tittet litt på denne:

http://www.amazon.co...&pf_rd_i=507846

 

Det er en veldig ny bok, så det har ikke kommet noen kommentar om den, som jeg ser. Når jeg leste beskrivelsen om den så fikk jeg skikkelig lyst til å kjøpe den.

 

Jeg har bare mange oppslagbøker så jeg tror boken kan være bra for meg fordi at den tar deg med fra start til slutt.

Så jeg vil si hvis du har mange oppslagsbøker om matte og sånne ting, så burde du kjøpe den. De fleste av den type bøker beskriver ikke alt som skjer det er derfor det er smart å ha noen oppslagsbøker.

 

-Tapped

Lenke til kommentar

Takk for tips :)

 

Jeg studerer for tiden spillprogrammering, har dette året jobbet mest med programmering av spillmotorer, AI og 2D grafikk. Tenkte jeg skulle prøve meg på en liten opengl 3D motor i sommerferien så jeg er klar til skolestart :D

Lenke til kommentar

Jeg holder på med GeoMipMaps akkurat nå. Har fått til raskt og effektivt quadtree nå, men skal snart begynne på mip levels. Noen som har vært borti det og har noen erfaringer som kan være verdifulle?

For de som ikke kjenner til det:

http://www.flipcode.com/archives/article_geomipmaps.pdf

Det er for å lage et 3D dimensjonalt terreng utifra en 2 dimensjonal figur (heightmap) men som bruker mipmap idéen for å øke ytelsen.

Lenke til kommentar
  • 1 måned senere...

Jeg har et problem i min spill motor. Jeg er ferdig med mye av 3D programmeringen, men jeg har problemer med noen 2D ting.

Problemet mitt er å teksturere en "quad" i ortografisk modus.

Første framen så blir "quaden" teksturert, men andre frame så blir "quaden" min svart.

 

Jeg tror problemet kan ligge i tekstur objektet.

 

Her er ihvertfall litt av koden til "classen"

bool Object_2D::Load( )
{
m_image = new TargaImage;
if ( !m_image->Load( m_filename ) )
{
	return false;
}

glGenTextures(1, &texture_object );
glBindTexture( GL_TEXTURE_2D, texture_object );

glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );

if ( m_image->GetColor() == 32 )
{
	glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, m_image->GetWidth(), m_image->GetHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE, 
		m_image->GetImage() );
}
else
{
	glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB, (int)m_image->GetWidth(), (int)m_image->GetHeight(), 0, GL_RGB, GL_UNSIGNED_BYTE, 
		m_image->GetImage() );
}

return true;
}

void Object_2D::Render()
{
float width = m_image->GetWidth() * 0.5f; //Half of the 
float height = m_image->GetHeight() * 0.5f;//widht and height

glPushMatrix();
        mat.fromQuaternion( ang );
        Matrix_to_float( mat, matrix );

        glMultMatrixf( matrix );

	glBindTexture( GL_TEXTURE_2D, texture_object ); //Binds the
		                                        //Texture
	                                                //object
               glBegin(GL_QUADS);
		glTexCoord2f(0,0);   //Left corner
		glVertex2f( -width, -height );
		glTexCoord2f(1,0); // Right corner
		glVertex2f( width, -height );
		glTexCoord2f(1,1); // Top right corner
		glVertex2f(width, height);
		glTexCoord2f(0,1); // Top left corner
		glVertex2f(-width, height);
	glEnd();
glPopMatrix();
}

 

For å nevne det så er "texture_object" en public member av klassen "Object_2D".

 

-Tapped

Lenke til kommentar

Et eller annet må endre seg, for eksempel texture_object. Hvis du bruker Visual Studio eller lignende IDE er det en enkel sak å se om alle verdier forblir riktig.

Koden din ser riktig ut for meg, men jeg ser langt ifra alle variabler her. Step igjennom en hel gjennomføring, og se hva som endrer seg uventet. Feilen kan være overflow, eller at noe går ut av scope.

Lenke til kommentar

Jeg fikk løst det. Feilen var at jeg brukte både glColor og glTexture i samme program. Jeg fikset feilen ved å sette glColor til hvit før jeg satte på teksturen.

 

Dette funket, fordi at glColor ganges med teksturen, og derfor vil input og output bli den samme.

Eksempel

125, 50, 0 * 1.0, 1.0, 1.0 = 125, 50, 0

-Tapped

Endret av Tapped
Lenke til kommentar

Kikk på shaders. Det er håpløst å bruke fixed function i en moderne spillmotor.

Ja, jeg opplever mye styr. Jeg har lært meg low-level shadering, men har ikke bygget opp motoren rundt shaders. Motoren min er nå, så og si bare egnet for 2D spill.

Når jeg starter med litt mer 3D ting, som pre-lightning, skygge og sånn så må jeg nok bruke shaders.

 

Jeg har også et spørsmål. Hvilken lys formel synes du er kjappest og mest realistisk?

 

-Tapped

Endret av Tapped
Lenke til kommentar
  • 2 uker senere...

Lys er jo enkelt nok beregnet som halv-vinkelen i differansen mellom lys og pixel. Vet ikke hvor mye en kan vri og vende på dette. Lys og skygger fra flere lyskilder er derimot et interessant tema, jeg har valgt deferred shading, men har ikke fått startet med det enda. Jeg har funnet ut at en kan gi flere fragments fra samme shader som gjør jobben endel enklere med tanke på normaler etc. Skal bli spennende å starte med dette når jeg får tid.

Grunnen til at jeg valgte deferred shading, var at den virker minst GPU intensiv, ettersom det kun blir ett pass.

Lenke til kommentar
  • 4 måneder senere...

Jeg holder på med et spill prosjekt, og har et ganske vanskelig problem.

Jeg vil gjøre at en 2D figur kan gå fra start og til destinasjon med forstyrrelser innenfor en tid. Jeg vet hvordan du kan løse dette problemet, med

"Wiener process", eller mer spesifikt "Fokker Planck equation".

 

Wikipedia og mange andre sider gjør formlene veldig vanskelig å forstå og implementere i kode.

Så jeg trenger at noen kunne forklart formlene forståelig. :tease:

Eller har noen annen ide for å løse problemet.

 

-Tapped

Lenke til kommentar

Fokker-Planck Equation er en diff ligning som du derfor må diskretisere. F. eks kan du sette

 

p><p>

 

Hvor chart?cht=tx&chl=\Delta t er tidsskrittet ditt i tid. Gjør det samme for den deriverte/andrederiverte i x og y retning, og gjør om til du får ett uttrykk for

 

p><p>

 

Den andrederiverte kan være litt slitsom, men kan skrives som:

 

p><p>

 

Da får du til slutt en første ordens approximasjon, som vel burde holde for ett spill. Problemet er tidssteget. Ett for langt tidssteg vil ødelegge løsningen helt og gjøre den ustabil.

 

Ting du kan/burde lese deg opp på: Diff ligninger og numerikk, stabilitetsanalyse.

Lenke til kommentar
  • 6 måneder senere...

Hei alle sammen!

Har drevet med programmering i noen år (C/C++, C#, Java, med flere...), og tenkte å gjøre et forsøk på å lære meg grafikkprogrammering. OpenGL er det jeg har tenkt å begynne med, og lurte på litt veiledning i form av bøker. NeHE sine guides har jeg prøvd for en stund siden, men de begynner å bli temmelig utdatert og noen av kildekodene får jeg ikke kompilert engang... :( Selv lærer jeg bedre med bøker ved siden av PC'en. Bøkene skal helst være litt tutorial-basert, men bør forklare ordentlig hva som skjer. Hvis det er en bok som kan fungere som dette og oppslagsverk er dette utrolig fint. Har lest tråden, og noe kan ha forandret seg på bokfronten siden sist bokdiskusjon, men tar det jeg har lest med i vurderingen.

 

Dette er bøkene jeg har vurdert:


    • OpenGL Superbible
    • Beginning OpenGL Game Programming
    • OpenGL Programming Guide

 

OpenGL Superbible leste jeg at nyeste utgave ikke var så bra, så der blir det 4de utgave med mindre dere har noe annet å anbefale. Jeg kan programmere, men jeg er relativt ny på grafikkprogrammering (har gjortn noen tutorials, så jeg har en utrolig enkel forståelse). Har dere noen bøker å anbefale? Er noen av bøkene over noe bra? Kom også gjerne med andre tips som har med grafikkprogrammering å gjøre, men husk at jeg ikke er ny på programmering.... (så "vær komfortabel med C++" og slikt er selvfølger) :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...