GLUTESSCALLBACK(3G) | GLUTESSCALLBACK(3G) |
̾??¶
gluTessCallback - ?ƥ??졼?????֥??????Ȥ??Ф??ƥ??????Хå???????????
????¶
void gluTessCallback( GLUtesselator* tess,
GLenum which, _GLUfuncptr CallBackFunc )
??????¶
- tess
- ?ƥ??졼?????֥???????(gluNewTess ???Ȥäƺ???) ?????ꤹ?롣
- which
- ???????륳?????Хå??????ꤹ?롣 ͭ?????ͤϼ????̤??Ǥ???: GLU_TESS_BEGIN, GLU_TESS_BEGIN_DATA, GLU_TESS_EDGE_FLAG, GLU_TESS_EDGE_FLAG_DATA, GLU_TESS_VERTEX, GLU_TESS_VERTEX_DATA, GLU_TESS_END, GLU_TESS_END_DATA, GLU_TESS_COMBINE, GLU_TESS_COMBINE_DATA, GLU_TESS_ERROR, GLU_TESS_ERROR_DATA??
- CallBackFunc
- ?ƤӽФ??????ؿ??????ꤹ?롣
????¶
gluTessCallback ?ϡ??ƥ??졼?????֥??????Ȥ? ?Ȥ????????Хå????ؼ????뤿???˻Ȥ??? ???ꤵ?줿???????Хå????????????????Ƥ??????硢???Υ??????Хå??? ?֤??????????롣 CallBackFunc ?? NULL ?ʤ??С????ߤ??륳?????Хå???̤?????? ???֤ˤ????롣
???????Υ??????Хå??ϥƥ??졼?????֥??????Ȥ??Ȥ??? ?桼???????ꤷ???ݥꥴ?????ɤΤ褦?˻??ѷ?ʬ?䤹???Τ??? ???Ҥ??뤿???˻Ȥ????롣 ???줾???Υ??????Хå??ˤϤդ??ĤΥС????????????????դ??뤳??: ?桼???????ꤷ???ݥꥴ???ǡ????????????????Τȼ????????ʤ????ΤǤ??롣 ???륳?????Хå??ˤĤ???ξ???ΥС????????ꤵ???Ƥ????????ϡ? ?桼???????ꤷ???ݥꥴ???ǡ??????????????С??????????????Ȥ????롣 ?????δؿ??˻Ȥ????? polygon_data ???????ϡ? gluTessBeginPolygon ???ƤӽФ??줿???˻??ꤵ???Ƥ????ݥ??? ???ԡ??Ǥ??????????դ??뤳?ȡ? ??????ǽ?ʥ??????Хå??ϰʲ????̤??Ǥ???:
- GLU_TESS_BEGIN
- ???ϥ??????Хå??? glBegin ?Τ褦?˸ƤФ졢(???ѷ?)?ץ??ߥƥ??? ?γ??Ϥ??? ???δؿ??? GLenum ???ΰ????????ҤȤļ??롣 GLU_TESS_BOUNDARY_ONLY °???? GL_FALSE ?????ꤵ???Ƥ? ???????ϡ????????ˤ? GL_TRIANGLE_FAN, GL_TRIANGLE_STRIP, GL_TRIANGLES ?Τ????줫?????ꤵ???롣 GLU_TESS_BOUNDARY_ONLY °???? GL_TRUE ?????ꤵ???Ƥ??? ?????ϡ????????ˤ? GL_LINE_LOOP ?????ꤵ???롣 ???Υ??????Хå??δؿ??ץ??ȥ????פ??ʲ??˼???:
- GLU_TESS_BEGIN_DATA
- GLU_TESS_BEGIN ???????Хå??Ȥۤ?Ʊ???Ǥ??뤬???ݥ??????? ???ҤȤ?¿???????????ۤʤ롣 ???Υݥ??? gluTessBeginPolygon ???ƤФ줿?Ȥ???Ϳ?????줿 opaque ?ʥݥ???Ʊ???Τ??ΤǤ??롣 ???Υ??????Хå??δؿ??ץ??ȥ????פ??ʲ??˼???:
- GLU_TESS_EDGE_FLAG
- ?????ե饰???????Хå??? glEdgeFlag ?˻??Ƥ??롣 ???δؿ??Ͽ????ͤ??ҤȤİ??????Ȥ??Ƽ??ꡢ???ΰ??????Ϥɤ??????? ?ݥꥴ???ζ??????ˤ????Τ????? ???Υե饰?? GL_TRUE ?ʤ??С????θ???³?????줾????ĺ???? ?ݥꥴ?????ˤ????????Ϥ??롣?Ĥޤꡢ?????ΰ????????ΰ??ȶ??? ?????????Ϥ??롣 ???Υե饰?? GL_FALSE ?ʤ??С????θ???³?????줾????ĺ???? ?ݥꥴ???????ˤ????????Ϥ??롣 ?????ե饰???????Хå???(?⤷?????????Ƥ?????)?ǽ???ĺ?????????Хå??? ???˸ƤӽФ????롣
- ???ѷ????Ǥˤ????ե????????Ȼ??ѷ????Ǥˤ??륹?ȥ??å??????????ե饰 ???б????Ƥ??ʤ??Τǡ?NULL ?Ǥʤ??????ե饰???????Хå??????ꤵ???Ƥ??? ?????ˤⳫ?ϥ??????Хå??? GL_TRIANGLE_FAN ?? GL_TRIANGLE_STRIP ?????????˸ƤФ??뤳?ȤϤʤ??? (???Υ??????Хå??? NULL ?˽??????????Ƥ????С???ǽ?ؤαƶ??Ϥʤ???) ???????????ˡ??ե????????䥹?ȥ??å???????Ω???????ѷ??????Ѵ??????롣 ???Υ??????Хå??δؿ??ץ??ȥ????פ??ʲ??˼???:
- GLU_TESS_EDGE_FLAG_DATA
- GLU_TESS_EDGE_FLAG ???????Хå??˻??Ƥ??뤬???ݥ????????? ?ҤȤ?¿???????????ۤʤ롣 ???Υݥ??? gluTessBeginPolygon ???ƤФ줿?Ȥ???Ϳ?????줿 opaque ?ʥݥ???Ʊ???Τ??ΤǤ??롣 ???Υ??????Хå??δؿ??ץ??ȥ????פ??ʲ??˼???:
- GLU_TESS_VERTEX
- ĺ?????????Хå??ϳ??ϥ??????Хå??Ƚ?λ???????Хå??δ֤ǸƤФ??롣 ???Υ??????Хå??? glVertex ?˻??Ƥ??ꡢ?ƥ??졼???????????? ?????줿???ѷ?????ĺ???????????롣 ???δؿ??ϥݥ??????????ҤȤĤ??????롣 ???Υݥ??ϡ?ĺ???????Ҥ??줿(gluTessVertex ??)?Ȥ??? ?桼???????ꤷ?? opaque ?ʥݥ???Ʊ???Τ??ΤǤ??롣 ???Υ??????Хå??δؿ??ץ??ȥ????פ??ʲ??˼???:
- GLU_TESS_VERTEX_DATA
- GLU_TESS_VERTEX ???????Хå??Ȥۤ?Ʊ???Ǥ??뤬???ݥ??????? ???ҤȤ?¿???????????ۤʤ롣 ???Υݥ??? gluTessBeginPolygon ???ƤФ줿?Ȥ???Ϳ?????줿 opaque ?ʥݥ???Ʊ???Τ??ΤǤ??롣 ???Υ??????Хå??δؿ??ץ??ȥ????פ??ʲ??˼???:
- GLU_TESS_END
- ??λ???????Хå??????Ӥ? glEnd ??Ʊ???Ǥ??롣 ???Υ??????Хå??ϥץ??ߥƥ??֤ν????????????????ϼ????ʤ??? ???Υ??????Хå??δؿ??ץ??ȥ????פ??ʲ??˼???:
- GLU_TESS_END_DATA
- GLU_TESS_END ???????Хå??Ȥۤ?Ʊ???Ǥ??뤬???ݥ??????? ???ҤȤ?¿???????????ۤʤ롣 ???Υݥ??? gluTessBeginPolygon ???ƤФ줿?Ȥ???Ϳ?????줿 opaque ?ʥݥ???Ʊ???Τ??ΤǤ??롣 ???Υ??????Хå??δؿ??ץ??ȥ????פ??ʲ??˼???:
- GLU_TESS_COMBINE
- ???祳?????Хå??ϡ??ƥ??졼???????ĤФ??????? ??????ħ???ޡ??????褦?Ȥ??????ˡ???????ĺ???????뤿???˸ƤӽФ????롣 ???δؿ??ϼ??? 4 ?Ĥΰ???????????: GLdouble ???????? 3 ?Ĥ??????? 4 ?ĤΥݥ?????????GLfloat ???????? 4 ?Ĥ????ݥ??ؤΥݥ????? ?Ǥ??롣 ?ؿ??ץ??ȥ????פ??ʲ??˼???:
GLfloat weight[4], void **outData );
- ĺ???ϡ???¸?? 4 ?ĤޤǤ?ĺ?????????????Ȥ????????????롣 ????ĺ???? vertex_data ?˳?Ǽ?????롣 ?????????η????? weight ??Ϳ???롣 ???νŤ??դ??ˤ????Ƥϡ??????ι??פ?ɬ?? 1 ?Ǥʤ????Фʤ??ʤ??? ?????Ĥ??νŤߤ??ͤ? 0 ?Ǥ??äƤ⡢ĺ?????ؤ????ƤΥݥ???ͭ???Ǥ??롣 coords ?Ͽ?????ĺ???κ?ɸ??Ϳ???롣
- ?桼???Ͽ?????ĺ???????????ơ?vertex_data ?? weight ?? ?Ȥäƥѥ?????????֤?????????ĺ?????ؤ??ݥ??? outData ?? ?֤??ʤ????Фʤ??ʤ??? ???ν????ϥ??????????????Хå??δ֤?Ϳ???????롣 gluTessEndPolygon ???ƤФ??Ƥ??餷?Ф餯???? ?????????????????Τϥ桼??????Ǥ?Ǥ??롣
- ?㤨?С??ݥꥴ???? 3 ????????????Ǥ?դ?ʿ?????ˤ??ꡢ ??ĺ???˿??????????Ƥ????Ƥ????????ˤϡ?GLU_TESS_COMBINE ???????Хå??ϰʲ??Τ褦?ˤʤ?:
GLfloat w[4], VERTEX **dataOut ) {
VERTEX *new = new_vertex();
new->x = coords[0];
new->y = coords[1];
new->z = coords[2];
new->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r +
w[3]*d[3]->r;
new->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g +
w[3]*d[3]->g;
new->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b +
w[3]*d[3]->b;
new->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a +
w[3]*d[3]->a;
*dataOut = new; }
- ?ƥ??졼???????????????ĤĤ????????ˤϡ?GLU_TESS_COMBINE ???????Хå??ޤ??? GLU_TESS_COMBINE_DATA ???????Хå?(????)?? ?????????Ƥ??ʤ????Фʤ餺???????ˤ??Υ??????Хå??? NULL ?Ǥʤ? ?ݥ??? dataOut ?˽??ޤʤ????Фʤ??ʤ??? ?????Ǥʤ??????ϡ?GLU_TESS_NEED_COMBINE_CALLBACK ???顼 ???????ꡢ???ϤϤޤä????Ԥ????ʤ???
- GLU_TESS_COMBINE ???????Хå??Ȥۤ?Ʊ???Ǥ??뤬???ݥ???????
- ???ҤȤ?¿???????????ۤʤ롣 ???Υݥ??? gluTessBeginPolygon ???ƤФ줿?Ȥ???Ϳ?????줿 opaque ?ʥݥ???Ʊ???Τ??ΤǤ??롣 ???Υ??????Хå??δؿ??ץ??ȥ????פ??ʲ??˼???:
GLfloat weight[4], void **outData,
void *polygon_data );
- GLU_TESS_ERROR
- ???顼???????Хå??ϥ??顼?????????Ȥ??˸ƤӽФ????롣 ???Υ??????Хå??? GLenum ???ΰ????????ҤȤļ??롣 ???ΰ??????ϵ????ä????顼???? GLU_TESS_MISSING_BEGIN_POLYGON, GLU_TESS_MISSING_END_POLYGON, GLU_TESS_MISSING_BEGIN_CONTOUR, GLU_TESS_MISSING_END_CONTOUR, GLU_TESS_COORD_TOO_LARGE, GLU_TESS_NEED_COMBINE_CALLBACK, GLU_OUT_OF_MEMORY ?Τ????줫?????ꤵ???롣 ???????Υ??顼??ɽ??ʸ?????ϡ?gluErrorString ?θƤӽФ??Ǽ??? ?Ǥ??롣 ???Υ??????Хå??δؿ??ץ??ȥ????פ??ʲ??˼???:
- GLU ?饤?֥????ϡ????ʤ??ƤӽФ??????????뤳?Ȥˤ??ꡢ ?ǽ??? 4 ?ĤΥ??顼?????????????롣 GLU_TESS_COORD_TOO_LARGE ?ϡ???ɸ???????ͤ? ͽ???????????Ƥ????????Ǥ??? GLU_TESS_MAX_COORD ??Ķ???Ƥ??? ĺ???????ꡢ???κ?ɸ?ͤ?«?????????????Ȥ??? (??ɸ?ͤϡ??դ??Ĥκ?ɸ?ͤ??ݤ????碌?Ƥ⥪???С??ե??????ʤ????٤? ???????ʤ????Фʤ??ʤ???) GLU_TESS_NEED_COMBINE_CALLBACK ?ϡ??ƥ??졼???????????? ???ϥǡ??????Τդ??Ĥ??????δ??Ĥ????Ф??졢 GLU_TESS_COMBINE ???????Хå??? GLU_TESS_COMBINE_DATA ???????Хå???Ϳ???????ʤ??ä????Ȥ??? ???ξ????ˤϽ??ϤϤޤä????Ԥ????ʤ??? GLU_OUT_OF_MEMORY ?ϡ????Ϸ??̤????????뤿????ɬ?פʥ????꤬ ?????Ƥ??????Ȥ???
- GLU_TESS_ERROR_DATA
- GLU_TESS_ERROR ???????Хå??Ȥۤ?Ʊ???Ǥ??뤬???ݥ??????? ???ҤȤ?¿???????????ۤʤ롣 ???Υݥ??? gluTessBeginPolygon ???ƤФ줿?Ȥ???Ϳ?????줿 opaque ?ʥݥ???Ʊ???Τ??ΤǤ??롣 ???Υ??????Хå??δؿ??ץ??ȥ????פ??ʲ??˼???:
??????¶
?ƥ??졼?????????????줿?ݥꥴ???ϼ??Τ褦?ˤ????? ľ?ܥ????????Ǥ???:
gluTessCallback(tobj, GLU_TESS_BEGIN, glBegin);
gluTessCallback(tobj, GLU_TESS_VERTEX, glVertex3dv); gluTessCallback(tobj,
GLU_TESS_END, glEnd); gluTessCallback(tobj, GLU_TESS_COMBINE, myCombine);
gluTessBeginPolygon(tobj, NULL);
gluTessBeginContour(tobj);
gluTessVertex(tobj, v, v);
...
gluTessEndContour(tobj); gluTessEndPolygon(tobj);
???̤ϡ??ƥ??졼?????????????????ݥꥴ???ϥǥ????ץ쥤?ꥹ?Ȥ˳?Ǽ ???٤??Ǥ??롣?????????С????????????뤿?Ӥ??????ƥ??졼?????????? ??????ľ??ɬ?פ??ʤ??????Ǥ??롣
??Ϣ????¶
glBegin, glEdgeFlag, glVertex, gluNewTess, gluErrorString, gluTessVertex, gluTessBeginPolygon, gluTessBeginContour, gluTessProperty, gluTessNormal