yeah it can, and you need multi-texturing extensions unless you do multipass, I've got code if you're not sure how to use it.
here's the texture set up func I use for blending etc. rip out the blending modes you need. which is no blending for layer 1(base texture, or disable lighting if you want to blend it in with vertex colors)
then use modulated blending for the lightmap layer.
here's the texture set up func I use for blending etc. rip out the blending modes you need. which is no blending for layer 1(base texture, or disable lighting if you want to blend it in with vertex colors)
then use modulated blending for the lightmap layer.
Method Setup() 'Local Profile:TProfile ' If profilerOn ' Profile:TProfile = Profiler.Enter("Texture Setup") ' EndIf glMatrixMode(GL_TEXTURE) glLoadIdentity() glScalef(Scal[0],Scal[1],Scal[2]) glTranslatef(Pos[0],Pos[1],Pos[2]) glRotatef(Rot[2],0,0,1) ' glRotatef(Rot[0],1,0,0) ' glRotatef(Rot[1],0,1,0) If Texture.BindBlend[BoundUnit]<>BlendMode glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE); Select BlendMode Case T_Normal glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_RGB,GL_REPLACE) Case T_Blend glTexEnvf(GL_TEXTURE_ENV,GL_COMBINE_RGB,GL_BLEND) Case T_modulated glTexEnvf(GL_TEXTURE_ENV,GL_COMBINE_RGB,GL_MODULATE) Case T_Add glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_RGB,GL_ADD) Case T_Dot3 glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_RGB,GL_DOT3_RGB) Case T_Dot3Alpha glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_RGB,GL_DOT3_RGBA) Case T_Subtract glTexEnvf(GL_TEXTURE_ENV,GL_COMBINE_RGB,GL_SUBTRACT) Default MainError.Invoke("Illegal Texture Blend Mode Specified In Texture.Setup() Mode:"+BlendMode,True) End Select Texture.BindBlend[BoundUnit] = BlendMode EndIf ' If FilterMode<>Texture.BindFilter[BoundUnit] Select FilterMode Case T_None glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST) glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST) Case T_BiLinear glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR) glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR) Case T_TriLinear glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR) glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR) Default MainError.Invoke("Illegal Filter mode in Texture.Setup() Mode:"+FilterMode,False) End Select Texture.bindfilter[boundunit] = filtermode ' EndIf If ColorS<>Texture.BindColorS[boundunit] Texture.BindColorS[boundunit]=ColorS glTexEnvf(GL_TEXTURE_ENV,GL_RGB_SCALE_ARB,ColorS) EndIf glMatrixMode(GL_MODELVIEW) ' If ProfilerOn ' Profile.Leave() ' EndIf End Method