Volumetric Materials in BGE?

Hi,
is it possible to use volumetric materials in BGE?

I need an object (animated) to be volumetric.

like “martinsh” underwater shader.

You’ll have to use your own shader, or perhaps do some fancy thing with nodes.

What effect are you trying to create?

i have made an little arena and at an random time, (you can see it in the script below…), this arena is filled with water state(underwater) and i have also create an water surface that rises up the arena to set it Underwater, now I would fill the gap between the surface and the Arena with an volumetric Material but don,t want to use external cameras because I have more than 10 levels and would use this method in other levels too


from bge import logic
import random

def interact():
    cont = logic.getCurrentController()
    own = cont.owner
    scene = logic.getCurrentScene()
    
    once = 0
    
    event_list = ['bonus_pack', 'underwater']#, 'hurricane', 'next_respawn', 'anti_gravity', 'ghost']
    
    
    if own['once1'] == 0 and own['Arena_Interact'] == 'True':
        own['rand_timey'] = random.randint(1000, 4000)
        own['once1'] = 1
        
    if own['once1'] == 1:
        own['timey'] += 1
        if own['timey'] == own['rand_timey']:
            rand_event = random.sample(event_list, 1)
            active_event = str(rand_event)[2:-2]
            own['Arena_event'] = active_event
            
            own['timey'] = 0
            own['once1'] = 0
            once = 1
            #print(active_event)
            
    
    if own['Arena_event'] == 'bonus_pack' and once == 1:
        own.sendMessage('underwater_deactive')
    
    if own['Arena_event'] == 'underwater' and once == 1:
        own.sendMessage('underwater_active')
        
    if own['Arena_event'] == 'hurricane' and once == 1:
        pass
    if own['Arena_event'] == 'next_respawn' and once == 1:
        pass
    if own['Arena_event'] == 'anti_gravity' and once == 1:
        pass
    if own['Arena_event'] == 'ghost' and once == 1:
        pass