shithub: libobj

Download patch

ref: 78739a666a7031db16648c7d629f567442ea16bd
parent: 4742c552904c44bc77604b7cf03ed7b14e2e7ef4
author: rodri <rgl@antares-labs.eu>
date: Thu Sep 26 07:32:44 EDT 2024

add an opacity parameter in OBJColor to discard non-colors.

--- a/obj.c
+++ b/obj.c
@@ -425,6 +425,7 @@
 				m->Ka.g = strtod(f[2], nil);
 				m->Ka.b = strtod(f[3], nil);
 			}
+			m->Ka.a = 1;
 		}else if(strcmp(f[0], "Kd") == 0){
 			if(nf != 2 && nf != 4){
 				mterror("syntax error");
@@ -441,6 +442,7 @@
 				m->Kd.g = strtod(f[2], nil);
 				m->Kd.b = strtod(f[3], nil);
 			}
+			m->Kd.a = 1;
 		}else if(strcmp(f[0], "Ks") == 0){
 			if(nf != 2 && nf != 4){
 				mterror("syntax error");
@@ -457,6 +459,7 @@
 				m->Ks.g = strtod(f[2], nil);
 				m->Ks.b = strtod(f[3], nil);
 			}
+			m->Ks.a = 1;
 		}else if(strcmp(f[0], "Ke") == 0){
 			if(nf != 2 && nf != 4){
 				mterror("syntax error");
@@ -473,6 +476,7 @@
 				m->Ke.g = strtod(f[2], nil);
 				m->Ke.b = strtod(f[3], nil);
 			}
+			m->Ke.a = 1;
 		}else if(strcmp(f[0], "Ns") == 0){
 			if(nf != 2){
 				mterror("syntax error");
--- a/obj.h
+++ b/obj.h
@@ -48,7 +48,7 @@
 
 struct OBJColor
 {
-	double r, g, b;
+	double r, g, b, a;
 };
 
 struct OBJVertexArray