Kto mi przetłumaczy poniższy kod na C++
Public Tekstura() As Long
Public Function LoadGLTexture(NazwaTex As String, KtoraTex As Byte) As Boolean
'Tutaj wczytujemy dany plik i konwertujemy na teksturę "zjadliwą" dla OpenGL
Dim sFile As String
Dim bmFile As BITMAPFILEHEADER
Dim bmInfo As BITMAPINFOHEADER
Dim bmRGB() As RGBQUAD
Dim iFile As Integer
Dim lImageSize As Long
Dim iPixelSize As Integer
Dim baImageData() As Byte
'Ustawiamy nazwę pliku
sFile = App.Path & "\" & NazwaTex
iFile = FreeFile
Open sFile For Binary As iFile
'Odczytajmy nagłówek pliku
Get #iFile, , bmFile
Get #iFile, , bmInfo
'Zprawdźmy ilu kolorowa jest bitmapa
If (bmInfo.biBitCount < 24) Then
'Mniej niż 24bity (16777215) koloruff, przypiszmy ten fakt do odpowiedniej zmiennej
ReDim bmRGB(bmInfo.biClrUsed)
'Wczytajmy tablicę kolorów
Get #iFile, , bmRGB
End If
'Sprawdźmy jak duża jest nasza bitmapa
iPixelSize = bmInfo.biBitCount / 8
lImageSize = bmInfo.biWidth * bmInfo.biHeight * iPixelSize
ReDim baImageData(lImageSize)
'Wczytajmy dane (obraz) bitmapy
Get #iFile, , baImageData
Close #iFile
'Stwórzmy wskaźnik dla naszej tekstury
ReDim Tekstura(KtoraTex)
'Zróbmy nieco miejsca w pamięci karty graficznej dla naszej tekstury
glGenTextures 1, Tekstura(KtoraTex)
'Od teraz nasza bitmapa będzie nazywała się teksturą, przepiszmy dane z pamięci RAM do VRAM
glBindTexture glTexture2D, Tekstura(KtoraTex)
glTexParameteri glTexture2D, tpnTextureMagFilter, GL_LINEAR 'Wybieramy skalowanie metodą GL_LINEAR
glTexParameteri glTexture2D, tpnTextureMinFilter, GL_LINEAR
glTexImage2D glTexture2D, 0, 3, bmInfo.biWidth, bmInfo.biHeight, _
0, tiBGRExt, GL_UNSIGNED_BYTE, baImageData(0)
'Super! Udało nam się stworzyć teksturę
LoadGLTexture = True
End Function