Various bug fixes + Material setters

This commit is contained in:
Crizomb 2025-09-27 02:37:11 +02:00
parent e35cca1830
commit f5c912c489
5 changed files with 53 additions and 22 deletions

View file

@ -15,7 +15,7 @@ type GridColor struct {
func (grid GridColor) GetColor(p Vector3) Vector3 {
ix := int(math.Floor(p.X / grid.size))
iy := int(math.Floor(p.Y / grid.size))
iz := int(math.Floor(p.Z / grid.size))
iz := int(math.Floor(p.Z/grid.size)) * 0
if (ix+iy+iz)%2 == 0 {
return grid.color1.GetColor(p)
@ -37,14 +37,14 @@ type Material struct {
refractIndice float64
}
func DefaultMaterial(ambiantColor Color) Material {
func DefaultMaterial(diffuseColor Color) Material {
return Material{
ambiantColor: ambiantColor,
diffuseColor: Vector3{255, 255, 255},
diffuseFac: 0.5,
ambiantColor: Vector3{0, 0, 0},
diffuseColor: diffuseColor,
diffuseFac: 1,
specularColor: Vector3{255, 255, 255},
specularFac: 1.0,
specularExp: 32.0,
specularFac: 2,
specularExp: 35.0,
reflectanceFac: 0.0,
reflectanceTint: Vector3{1.0, 1.0, 1.0},
refractFac: 0.0,
@ -67,6 +67,32 @@ func MixMat(mat1 Material, mat2 Material, t float64, p Vector3) Material {
}
}
// Setters
func ChangeAmbiantColor(m *Material, newAmbiantColor Color) {
m.ambiantColor = newAmbiantColor
}
func ChangeDiffuseColor(m *Material, newDiffuseColor Color) {
m.diffuseColor = newDiffuseColor
}
func ChangeSpecularColor(m *Material, newSpecularColor Color) {
m.specularColor = newSpecularColor
}
func ChangeDiffuseFac(m *Material, newDiffuseFac float64) {
m.diffuseFac = newDiffuseFac
}
func ChangeSpecularFac(m *Material, newSpecularFac float64) {
m.specularFac = newSpecularFac
}
func ChangeSpecularExp(m *Material, newSpecularExp float64) {
m.specularExp = newSpecularExp
}
// Colors
var RED = Vector3{255, 0, 0}