I'm trying to set the value of a pixel in a texture3D object, but it doesnt appear to be working:
var width = 64
var height = 64
var depth = 64
var texture3D = Texture3D.new()
texture3D.create(64, 64, 64, Image.FORMAT_RGB8)
var image = Image.new()
image.create(width, height, false, Image.FORMAT_RGB8)
texture3D.set_layer_data(image, 0)
texture3D.data['layers'][0].lock()
texture3D.data['layers'][0].set_pixel(0, 0, Color(0.7, 0.3, 0.8))
var value = texture3D.data['layers'][0].get_pixel(0, 0)
print("set pixel value:", value)
output:
set pixel value:0,0,0,1
Maybe the problem has something to do with locking? Do I need to unlock? I'm not sure what locking does, since I assume this is a single thread...