Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: .NET-taulukot OpenGL-kutsuissa

Anthaing [12.01.2006 20:18:41]

#

Projektini on opinnäytetyö Visual Basic .NET-kielellä. Uhosin aihetta valitessa, että käytän OpenGL-rajapintaa grafiikan ulostamiseen. Arvelin sen käyvän helposti, onhan se on niin helppoa C:lläkin. Olinpahan taas väärässä.

Ongelmana ovat .NET-taulukot, kuten joku ehkä otsikosta huomasi. Tarvitsen vain yksiulotteisia taulukoita tekstuurien luontiin, ehkä kärkipistetaulukoihin ja muutamaan GDI-funktioon. Tieto ei vain tunnu liikkuvan. Tekstuurien luonti ei onnistu ja sadan kärkipisteen taulukosta yksi näkyi. En tosin ollut sitä määrittänyt, se näkyy aina, kun kutsun teen. Ilmeisesti lähetän väärän osoitteen. Miten siis saan taulukon ensimmäisen alkion osoitteen selville?

Olen yrittänyt lähettää viittauksena taulukon ensimmäisen alkion, arvona itse taulukon erilaisten MarshalAs-attribuutin parametrien kanssa ja In-attribuutin kanssa, sekä arvona, että viittauksena Object-oliona MarshalAs-attribuuttien kanssa ja ilman. Parhaimmillaan saan poikkeuksen, joka sanoo, ettei attribuuttia voi käyttää niin ja näin.

Kuten unohdin mainita, en käytä tyyppi- tai muita kirjastoja. Kopioin kaikki vakiot ja prototyypit gl.h-tiedostosta.

Metabolix [12.01.2006 23:11:23]

#

En tiedä ratkaisua, mutta voithan käyttää niitä funktioita, jotka eivät kaipaa osoitinta vaan suoraan arvot. Tiedän, hitaampaa, mutta eiköhän se ero ole lopulta melko pieni, jos enemmät turhat kolmiot karsii jo ohjelman puolella pois.

Anthaing [13.01.2006 20:23:57]

#

Selviän kyllä renderointikutsujen osalta, mutta tarvitsen välttämättä tekstuureja.

tnb [13.01.2006 20:28:26]

#

Muista että VB.net kokonaisluvut ovat tupla pituisia eli interger on 32 bit eikä siis 16 bit; long on 64 bit jne..
Tämä sattaa hämätä jos käytät kirjastoa, jossa long on 32 bit!!!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta