Merge pull request #425 from aftersomemath:cull-face-flag
PiperOrigin-RevId: 466904386 Change-Id: Icd5515c2bbb8f8f3417501ea43c8e5ae22b32f91
This commit is contained in:
@@ -875,6 +875,7 @@ mjtRndFlag
|
|||||||
mjRND_HAZE, // haze
|
mjRND_HAZE, // haze
|
||||||
mjRND_SEGMENT, // segmentation with random color
|
mjRND_SEGMENT, // segmentation with random color
|
||||||
mjRND_IDCOLOR, // segmentation with segid+1 color
|
mjRND_IDCOLOR, // segmentation with segid+1 color
|
||||||
|
mjRND_CULL_FACE, // cull backward faces
|
||||||
|
|
||||||
mjNRNDFLAG // number of rendering flags
|
mjNRNDFLAG // number of rendering flags
|
||||||
} mjtRndFlag;
|
} mjtRndFlag;
|
||||||
|
|||||||
@@ -134,6 +134,7 @@ typedef enum mjtRndFlag_ { // flags enabling rendering effects
|
|||||||
mjRND_HAZE, // haze
|
mjRND_HAZE, // haze
|
||||||
mjRND_SEGMENT, // segmentation with random color
|
mjRND_SEGMENT, // segmentation with random color
|
||||||
mjRND_IDCOLOR, // segmentation with segid+1 color
|
mjRND_IDCOLOR, // segmentation with segid+1 color
|
||||||
|
mjRND_CULL_FACE, // cull backward faces
|
||||||
|
|
||||||
mjNRNDFLAG // number of rendering flags
|
mjNRNDFLAG // number of rendering flags
|
||||||
} mjtRndFlag;
|
} mjtRndFlag;
|
||||||
|
|||||||
+2
-1
@@ -624,7 +624,8 @@ ENUMS: Mapping[str, EnumDecl] = dict([
|
|||||||
('mjRND_HAZE', 6),
|
('mjRND_HAZE', 6),
|
||||||
('mjRND_SEGMENT', 7),
|
('mjRND_SEGMENT', 7),
|
||||||
('mjRND_IDCOLOR', 8),
|
('mjRND_IDCOLOR', 8),
|
||||||
('mjNRNDFLAG', 9),
|
('mjRND_CULL_FACE', 9),
|
||||||
|
('mjNRNDFLAG', 10),
|
||||||
]),
|
]),
|
||||||
)),
|
)),
|
||||||
('mjtStereo',
|
('mjtStereo',
|
||||||
|
|||||||
@@ -707,7 +707,9 @@ void makerendering(mj::Simulate* sim, int oldstate) {
|
|||||||
mjui_add(&sim->ui0, defOpenGL);
|
mjui_add(&sim->ui0, defOpenGL);
|
||||||
for (i=0; i<mjNRNDFLAG; i++) {
|
for (i=0; i<mjNRNDFLAG; i++) {
|
||||||
mju::strcpy_arr(defFlag[0].name, mjRNDSTRING[i][0]);
|
mju::strcpy_arr(defFlag[0].name, mjRNDSTRING[i][0]);
|
||||||
mju::sprintf_arr(defFlag[0].other, " %s", mjRNDSTRING[i][2]);
|
if (mjRNDSTRING[i][2][0]) {
|
||||||
|
mju::sprintf_arr(defFlag[0].other, " %s", mjRNDSTRING[i][2]);
|
||||||
|
}
|
||||||
defFlag[0].pdata = sim->scn.flags + i;
|
defFlag[0].pdata = sim->scn.flags + i;
|
||||||
mjui_add(&sim->ui0, defFlag);
|
mjui_add(&sim->ui0, defFlag);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,7 +101,8 @@ const char* mjRNDSTRING[mjNRNDFLAG][3] = {
|
|||||||
{"Fog", "0", "G"},
|
{"Fog", "0", "G"},
|
||||||
{"Haze", "1", "/"},
|
{"Haze", "1", "/"},
|
||||||
{"Segment", "0", ","},
|
{"Segment", "0", ","},
|
||||||
{"Id Color", "0", "."}
|
{"Id Color", "0", "."},
|
||||||
|
{"Cull Face", "1", ""}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -491,7 +491,11 @@ static void initGL3(const mjvScene* scn, const mjrContext* con) {
|
|||||||
glEnable(GL_NORMALIZE);
|
glEnable(GL_NORMALIZE);
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
glDepthMask(GL_TRUE);
|
glDepthMask(GL_TRUE);
|
||||||
glEnable(GL_CULL_FACE);
|
if (scn->flags[mjRND_CULL_FACE]) {
|
||||||
|
glEnable(GL_CULL_FACE);
|
||||||
|
} else {
|
||||||
|
glDisable(GL_CULL_FACE);
|
||||||
|
}
|
||||||
glShadeModel(GL_SMOOTH);
|
glShadeModel(GL_SMOOTH);
|
||||||
glDepthFunc(GL_LEQUAL);
|
glDepthFunc(GL_LEQUAL);
|
||||||
glDepthRange(0, 1);
|
glDepthRange(0, 1);
|
||||||
|
|||||||
@@ -480,7 +480,8 @@ public enum mjtRndFlag : int{
|
|||||||
mjRND_HAZE = 6,
|
mjRND_HAZE = 6,
|
||||||
mjRND_SEGMENT = 7,
|
mjRND_SEGMENT = 7,
|
||||||
mjRND_IDCOLOR = 8,
|
mjRND_IDCOLOR = 8,
|
||||||
mjNRNDFLAG = 9,
|
mjRND_CULL_FACE = 9,
|
||||||
|
mjNRNDFLAG = 10,
|
||||||
}
|
}
|
||||||
public enum mjtStereo : int{
|
public enum mjtStereo : int{
|
||||||
mjSTEREO_NONE = 0,
|
mjSTEREO_NONE = 0,
|
||||||
|
|||||||
Reference in New Issue
Block a user