2023-08-24 11:59:05 +02:00
|
|
|
function __d3dMaterial(surface = noone) constructor {
|
|
|
|
self.surface = surface;
|
2023-08-24 19:44:12 +02:00
|
|
|
|
2023-08-24 11:59:05 +02:00
|
|
|
self.diffuse = 1;
|
|
|
|
self.specular = 0;
|
|
|
|
self.metalic = false;
|
|
|
|
self.shine = 1;
|
2023-08-23 20:01:09 +02:00
|
|
|
|
2023-08-24 19:44:12 +02:00
|
|
|
self.normal = noone;
|
|
|
|
self.normalStr = 1;
|
|
|
|
|
|
|
|
self.reflective = 0;
|
|
|
|
|
2023-08-23 20:01:09 +02:00
|
|
|
static getTexture = function() {
|
|
|
|
if(!is_surface(surface)) return -1;
|
|
|
|
return surface_get_texture(surface);
|
|
|
|
}
|
2023-08-24 19:44:12 +02:00
|
|
|
|
2023-08-30 16:40:45 +02:00
|
|
|
static submitGeometry = function() {
|
|
|
|
shader_set_i("use_normal", is_surface(normal));
|
|
|
|
shader_set_surface("normal_map", normal);
|
|
|
|
shader_set_f("normal_strength", normalStr);
|
|
|
|
}
|
|
|
|
|
2023-08-24 19:44:12 +02:00
|
|
|
static submitShader = function() {
|
|
|
|
shader_set_f("mat_diffuse", diffuse );
|
|
|
|
shader_set_f("mat_specular", specular );
|
|
|
|
shader_set_f("mat_shine", shine );
|
|
|
|
shader_set_i("mat_metalic", metalic );
|
|
|
|
|
|
|
|
shader_set_f("mat_reflective", reflective);
|
|
|
|
}
|
2023-08-23 20:01:09 +02:00
|
|
|
}
|