TexFace removal part 2
authorCampbell Barton <ideasman42@gmail.com>
Wed, 24 May 2017 14:34:14 +0000 (00:34 +1000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 24 May 2017 15:40:15 +0000 (01:40 +1000)
- Derived-mesh drawing.
- All non UV members of TexFace structs.

MTexPoly is now redundant but keeping with a dummy member,
will check on complete removal later.

34 files changed:
source/blender/blenkernel/BKE_DerivedMesh.h
source/blender/blenkernel/intern/DerivedMesh.c
source/blender/blenkernel/intern/cdderivedmesh.c
source/blender/blenkernel/intern/customdata.c
source/blender/blenkernel/intern/editderivedmesh.c
source/blender/blenkernel/intern/mesh_evaluate.c
source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/blenloader/intern/versioning_legacy.c
source/blender/editors/include/ED_mesh.h
source/blender/editors/include/ED_uvedit.h
source/blender/editors/mesh/editmesh_utils.c
source/blender/editors/space_image/space_image.c
source/blender/editors/space_view3d/drawmesh.c
source/blender/editors/space_view3d/view3d_view.c
source/blender/editors/uvedit/uvedit_draw.c
source/blender/editors/uvedit/uvedit_intern.h
source/blender/editors/uvedit/uvedit_ops.c
source/blender/editors/uvedit/uvedit_unwrap_ops.c
source/blender/gpu/GPU_draw.h
source/blender/gpu/intern/gpu_draw.c
source/blender/makesdna/DNA_meshdata_types.h
source/blender/makesdna/DNA_space_types.h
source/blender/makesrna/intern/rna_mesh.c
source/blender/modifiers/intern/MOD_uvproject.c
source/blender/render/intern/source/multires_bake.c
source/gameengine/Converter/BL_BlenderDataConversion.cpp
source/gameengine/Ketsji/BL_Material.cpp
source/gameengine/Ketsji/BL_Material.h
source/gameengine/Ketsji/KX_BlenderMaterial.cpp
source/gameengine/Ketsji/KX_BlenderMaterial.h
source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp
source/gameengine/Rasterizer/RAS_IPolygonMaterial.h
source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp

index 1ac1fd10da64bd9d15b9279e2e76467a7ce18e5e..116724463ca2f65a68071679a8985d27697e2d92 100644 (file)
@@ -142,8 +142,6 @@ typedef int (*DMSetMaterial)(int mat_nr, void *attribs);
 typedef int (*DMCompareDrawOptions)(void *userData, int cur_index, int next_index);
 typedef void (*DMSetDrawInterpOptions)(void *userData, int index, float t);
 typedef DMDrawOption (*DMSetDrawOptions)(void *userData, int index);
-typedef DMDrawOption (*DMSetDrawOptionsMappedTex)(void *userData, int origindex, int mat_nr);
-typedef DMDrawOption (*DMSetDrawOptionsTex)(struct MTexPoly *mtexpoly, const bool has_vcol, int matnr);
 
 typedef enum DMDrawFlag {
        DM_DRAW_USE_COLORS          = (1 << 0),
@@ -406,14 +404,6 @@ struct DerivedMesh {
        void (*drawFacesSolid)(DerivedMesh *dm, float (*partial_redraw_planes)[4],
                               bool fast, DMSetMaterial setMaterial);
 
-       /** Draw all faces using MTFace
-        * - Drawing options too complicated to enumerate, look at code.
-        */
-       void (*drawFacesTex)(DerivedMesh *dm,
-                            DMSetDrawOptionsTex setDrawOptions,
-                            DMCompareDrawOptions compareDrawOptions,
-                            void *userData, DMDrawFlag flag);
-
        /** Draw all faces with GLSL materials
         *  o setMaterial is called for every different material nr
         *  o Only if setMaterial returns true
@@ -440,14 +430,6 @@ struct DerivedMesh {
                                void *userData,
                                DMDrawFlag flag);
 
-       /** Draw mapped faces using MTFace
-        * - Drawing options too complicated to enumerate, look at code.
-        */
-       void (*drawMappedFacesTex)(DerivedMesh *dm,
-                                  DMSetDrawOptionsMappedTex setDrawOptions,
-                                  DMCompareDrawOptions compareDrawOptions,
-                                  void *userData, DMDrawFlag flag);
-
        /** Draw mapped faces with GLSL materials
         * - setMaterial is called for every different material nr
         * - setDrawOptions is called for every face
index a6b9a0487636bd5be4f7add5a57771c48fe546ab..871a25b0d7e2cf22456000623838cf3a066ffd39 100644 (file)
@@ -3556,15 +3556,6 @@ static void navmesh_drawColored(DerivedMesh *dm)
        immUnbindProgram();
 }
 
-static void navmesh_DM_drawFacesTex(
-        DerivedMesh *dm,
-        DMSetDrawOptionsTex UNUSED(setDrawOptions),
-        DMCompareDrawOptions UNUSED(compareDrawOptions),
-        void *UNUSED(userData), DMDrawFlag UNUSED(flag))
-{
-       navmesh_drawColored(dm);
-}
-
 static void navmesh_DM_drawFacesSolid(
         DerivedMesh *dm,
         float (*partial_redraw_planes)[4],
@@ -3598,7 +3589,6 @@ static DerivedMesh *navmesh_dm_createNavMeshForVisualization(DerivedMesh *dm)
        recastData = (int *)CustomData_get_layer(&result->polyData, CD_RECAST);
 
        /* note: This is not good design! - really should not be doing this */
-       result->drawFacesTex =  navmesh_DM_drawFacesTex;
        result->drawFacesSolid = navmesh_DM_drawFacesSolid;
 
 
index 54ccad64c904f3cd37d6410569f468f2c64f5b1e..63d105e24b1d22e012e3a08569e8710f69646255 100644 (file)
@@ -527,165 +527,6 @@ static void cdDM_drawFacesSolid(
        immUnbindProgram();
 }
 
-static void cdDM_drawFacesTex_common(
-        DerivedMesh *dm,
-        DMSetDrawOptionsTex drawParams,
-        DMSetDrawOptionsMappedTex drawParamsMapped,
-        DMCompareDrawOptions compareDrawOptions,
-        void *userData, DMDrawFlag flag)
-{
-       CDDerivedMesh *cddm = (CDDerivedMesh *) dm;
-       const MPoly *mpoly = cddm->mpoly;
-       MTexPoly *mtexpoly = DM_get_poly_data_layer(dm, CD_MTEXPOLY);
-       const  MLoopCol *mloopcol = NULL;
-       int i;
-       int colType, start_element, tot_drawn;
-       const bool use_hide = (flag & DM_DRAW_SKIP_HIDDEN) != 0;
-       const bool use_tface = (flag & DM_DRAW_USE_ACTIVE_UV) != 0;
-       const bool use_colors = (flag & DM_DRAW_USE_COLORS) != 0;
-       int totpoly;
-       int next_actualFace;
-       int mat_index;
-       int tot_element;
-
-       /* double lookup */
-       const int *index_mp_to_orig  = dm->getPolyDataArray(dm, CD_ORIGINDEX);
-
-       /* TODO: not entirely correct, but currently dynamic topology will
-        *       destroy UVs anyway, so textured display wouldn't work anyway
-        *
-        *       this will do more like solid view with lights set up for
-        *       textured view, but object itself will be displayed gray
-        *       (the same as it'll display without UV maps in textured view)
-        */
-       if (cddm->pbvh) {
-               if (cddm->pbvh_draw &&
-                   BKE_pbvh_type(cddm->pbvh) == PBVH_BMESH &&
-                   BKE_pbvh_has_faces(cddm->pbvh))
-               {
-                       GPU_set_tpage(NULL, false, false);
-                       BKE_pbvh_draw(cddm->pbvh, NULL, NULL, NULL, false, false);
-                       return;
-               }
-               else {
-                       cdDM_update_normals_from_pbvh(dm);
-               }
-       }
-
-       if (use_colors) {
-               colType = CD_TEXTURE_MLOOPCOL;
-               mloopcol = dm->getLoopDataArray(dm, colType);
-               if (!mloopcol) {
-                       colType = CD_PREVIEW_MLOOPCOL;
-                       mloopcol = dm->getLoopDataArray(dm, colType);
-               }
-               if (!mloopcol) {
-                       colType = CD_MLOOPCOL;
-                       mloopcol = dm->getLoopDataArray(dm, colType);
-               }
-       }
-
-       GPU_vertex_setup(dm);
-       GPU_normal_setup(dm);
-       GPU_triangle_setup(dm);
-       if (flag & DM_DRAW_USE_TEXPAINT_UV)
-               GPU_texpaint_uv_setup(dm);
-       else
-               GPU_uv_setup(dm);
-       if (mloopcol) {
-               GPU_color_setup(dm, colType);
-       }
-
-       /* lastFlag = 0; */ /* UNUSED */
-       for (mat_index = 0; mat_index < dm->drawObject->totmaterial; mat_index++) {
-               GPUBufferMaterial *bufmat = dm->drawObject->materials + mat_index;
-               next_actualFace = bufmat->polys[0];
-               totpoly = bufmat->totpolys;
-
-               tot_element = 0;
-               tot_drawn = 0;
-               start_element = 0;
-
-               for (i = 0; i < totpoly; i++) {
-                       int actualFace = bufmat->polys[i];
-                       DMDrawOption draw_option = DM_DRAW_OPTION_NORMAL;
-                       int flush = 0;
-                       int tot_tri_verts;
-
-                       if (i != totpoly - 1)
-                               next_actualFace = bufmat->polys[i + 1];
-
-                       if (use_hide && (mpoly[actualFace].flag & ME_HIDE)) {
-                               draw_option = DM_DRAW_OPTION_SKIP;
-                       }
-                       else if (drawParams) {
-                               MTexPoly *tp = use_tface && mtexpoly ? &mtexpoly[actualFace] : NULL;
-                               draw_option = drawParams(tp, (mloopcol != NULL), mpoly[actualFace].mat_nr);
-                       }
-                       else {
-                               if (index_mp_to_orig) {
-                                       const int orig = index_mp_to_orig[actualFace];
-                                       if (orig == ORIGINDEX_NONE) {
-                                               /* XXX, this is not really correct
-                                                * it will draw the previous faces context for this one when we don't know its settings.
-                                                * but better then skipping it altogether. - campbell */
-                                               draw_option = DM_DRAW_OPTION_NORMAL;
-                                       }
-                                       else if (drawParamsMapped) {
-                                               draw_option = drawParamsMapped(userData, orig, mpoly[actualFace].mat_nr);
-                                       }
-                               }
-                               else if (drawParamsMapped) {
-                                       draw_option = drawParamsMapped(userData, actualFace, mpoly[actualFace].mat_nr);
-                               }
-                       }
-
-                       /* flush buffer if current triangle isn't drawable or it's last triangle */
-                       flush = (draw_option == DM_DRAW_OPTION_SKIP) || (i == totpoly - 1);
-
-                       if (!flush && compareDrawOptions) {
-                               /* also compare draw options and flush buffer if they're different
-                                * need for face selection highlight in edit mode */
-                               flush |= compareDrawOptions(userData, actualFace, next_actualFace) == 0;
-                       }
-
-                       tot_tri_verts = ME_POLY_TRI_TOT(&mpoly[actualFace]) * 3;
-                       tot_element += tot_tri_verts;
-
-                       if (flush) {
-                               if (draw_option != DM_DRAW_OPTION_SKIP)
-                                       tot_drawn += tot_tri_verts;
-
-                               if (tot_drawn) {
-                                       if (mloopcol && draw_option != DM_DRAW_OPTION_NO_MCOL)
-                                               GPU_color_switch(1);
-                                       else
-                                               GPU_color_switch(0);
-
-                                       GPU_buffer_draw_elements(dm->drawObject->triangles, GL_TRIANGLES, bufmat->start + start_element, tot_drawn);
-                                       tot_drawn = 0;
-                               }
-                               start_element = tot_element;
-                       }
-                       else {
-                               tot_drawn += tot_tri_verts;
-                       }
-               }
-       }
-
-       GPU_buffers_unbind();
-       
-}
-
-static void cdDM_drawFacesTex(
-        DerivedMesh *dm,
-        DMSetDrawOptionsTex setDrawOptions,
-        DMCompareDrawOptions compareDrawOptions,
-        void *userData, DMDrawFlag flag)
-{
-       cdDM_drawFacesTex_common(dm, setDrawOptions, NULL, compareDrawOptions, userData, flag);
-}
-
 static void cdDM_drawMappedFaces(
         DerivedMesh *dm,
         DMSetDrawOptions setDrawOptions,
@@ -890,15 +731,6 @@ static void cdDM_drawMappedFaces(
 
 }
 
-static void cdDM_drawMappedFacesTex(
-        DerivedMesh *dm,
-        DMSetDrawOptionsMappedTex setDrawOptions,
-        DMCompareDrawOptions compareDrawOptions,
-        void *userData, DMDrawFlag flag)
-{
-       cdDM_drawFacesTex_common(dm, NULL, setDrawOptions, compareDrawOptions, userData, flag);
-}
-
 static void cddm_draw_attrib_vertex(
         DMVertexAttribs *attribs, const MVert *mvert, int a, int index, int loop, int vert,
         const float *lnor, const bool smoothnormal)
@@ -2061,10 +1893,8 @@ static CDDerivedMesh *cdDM_create(const char *desc)
        dm->drawMappedEdges = cdDM_drawMappedEdges;
 
        dm->drawFacesSolid = cdDM_drawFacesSolid;
-       dm->drawFacesTex = cdDM_drawFacesTex;
        dm->drawFacesGLSL = cdDM_drawFacesGLSL;
        dm->drawMappedFaces = cdDM_drawMappedFaces;
-       dm->drawMappedFacesTex = cdDM_drawMappedFacesTex;
        dm->drawMappedFacesGLSL = cdDM_drawMappedFacesGLSL;
        dm->drawMappedFacesMat = cdDM_drawMappedFacesMat;
 
@@ -2219,9 +2049,8 @@ static void loops_to_customdata_corners(
         int numCol, int numTex)
 {
        const BMLoop *l;
-       BMFace *f = l3[0]->f;
+//     BMFace *f = l3[0]->f;
        MTFace *texface;
-       MTexPoly *texpoly;
        MCol *mcol;
        MLoopCol *mloopcol;
        MLoopUV *mloopuv;
@@ -2229,9 +2058,6 @@ static void loops_to_customdata_corners(
 
        for (i = 0; i < numTex; i++) {
                texface = CustomData_get_n(facedata, CD_MTFACE, cdindex, i);
-               texpoly = CustomData_bmesh_get_n(&bm->pdata, f->head.data, CD_MTEXPOLY, i);
-               
-               ME_MTEXFACE_CPY(texface, texpoly);
        
                for (j = 0; j < 3; j++) {
                        l = l3[j];
index 96b15a2255484cd411443374576926265fd693f9..d4f60c6282751218bdf0dbe681a69fd53a89010f 100644 (file)
@@ -390,37 +390,19 @@ static void layerSwap_tface(void *data, const int *corner_indices)
 {
        MTFace *tf = data;
        float uv[4][2];
-       static const short pin_flags[4] = { TF_PIN1, TF_PIN2, TF_PIN3, TF_PIN4 };
-       static const char sel_flags[4] = { TF_SEL1, TF_SEL2, TF_SEL3, TF_SEL4 };
-       short unwrap = tf->unwrap & ~(TF_PIN1 | TF_PIN2 | TF_PIN3 | TF_PIN4);
-       char flag = tf->flag & ~(TF_SEL1 | TF_SEL2 | TF_SEL3 | TF_SEL4);
        int j;
 
        for (j = 0; j < 4; ++j) {
                const int source_index = corner_indices[j];
-
                copy_v2_v2(uv[j], tf->uv[source_index]);
-
-               /* swap pinning flags around */
-               if (tf->unwrap & pin_flags[source_index]) {
-                       unwrap |= pin_flags[j];
-               }
-
-               /* swap selection flags around */
-               if (tf->flag & sel_flags[source_index]) {
-                       flag |= sel_flags[j];
-               }
        }
 
        memcpy(tf->uv, uv, sizeof(tf->uv));
-       tf->unwrap = unwrap;
-       tf->flag = flag;
 }
 
 static void layerDefault_tface(void *data, int count)
 {
-       static MTFace default_tf = {{{0, 0}, {1, 0}, {1, 1}, {0, 1}},
-                                       0, 0, TF_DYNAMIC | TF_CONVERTED, 0, 0};
+       static MTFace default_tf = {{{0, 0}, {1, 0}, {1, 1}, {0, 1}}};
        MTFace *tf = (MTFace *)data;
        int i;
 
index 74cc260836ab157180b2aee84b708262d55ea295..795d04b117e9132d626f498c57ca000101262e5f 100644 (file)
@@ -805,20 +805,6 @@ static void emDM_drawMappedFaces(
        }
 }
 
-static void bmdm_get_tri_uv(BMLoop *ltri[3], MLoopUV *luv[3], const int cd_loop_uv_offset)
-{
-       luv[0] = BM_ELEM_CD_GET_VOID_P(ltri[0], cd_loop_uv_offset);
-       luv[1] = BM_ELEM_CD_GET_VOID_P(ltri[1], cd_loop_uv_offset);
-       luv[2] = BM_ELEM_CD_GET_VOID_P(ltri[2], cd_loop_uv_offset);
-}
-
-static void bmdm_get_tri_col(BMLoop *ltri[3], MLoopCol *lcol[3], const int cd_loop_color_offset)
-{
-       lcol[0] = BM_ELEM_CD_GET_VOID_P(ltri[0], cd_loop_color_offset);
-       lcol[1] = BM_ELEM_CD_GET_VOID_P(ltri[1], cd_loop_color_offset);
-       lcol[2] = BM_ELEM_CD_GET_VOID_P(ltri[2], cd_loop_color_offset);
-}
-
 static void bmdm_get_tri_colpreview(BMLoop *ls[3], MLoopCol *lcol[3], unsigned char(*color_vert_array)[4])
 {
        lcol[0] = (MLoopCol *)color_vert_array[BM_elem_index_get(ls[0]->v)];
@@ -826,204 +812,6 @@ static void bmdm_get_tri_colpreview(BMLoop *ls[3], MLoopCol *lcol[3], unsigned c
        lcol[2] = (MLoopCol *)color_vert_array[BM_elem_index_get(ls[2]->v)];
 }
 
-static void emDM_drawFacesTex_common(
-        DerivedMesh *dm,
-        DMSetDrawOptionsTex drawParams,
-        DMSetDrawOptionsMappedTex drawParamsMapped,
-        DMCompareDrawOptions compareDrawOptions,
-        void *userData)
-{
-       EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm;
-       BMEditMesh *em = bmdm->em;
-       BMesh *bm = em->bm;
-       struct BMLoop *(*looptris)[3] = em->looptris;
-       BMFace *efa;
-       const float (*lnors)[3] = dm->getLoopDataArray(dm, CD_NORMAL);
-       MLoopUV *luv[3], dummyluv = {{0}};
-       MLoopCol *lcol[3] = {NULL} /* , dummylcol = {0} */;
-       const int cd_loop_uv_offset    = CustomData_get_offset(&bm->ldata, CD_MLOOPUV);
-       const int cd_loop_color_offset = CustomData_get_offset(&bm->ldata, CD_MLOOPCOL);
-       const int cd_poly_tex_offset   = CustomData_get_offset(&bm->pdata, CD_MTEXPOLY);
-       unsigned char(*color_vert_array)[4] = em->derivedVertColor;
-       bool has_uv   = (cd_loop_uv_offset    != -1);
-       bool has_vcol_preview = (color_vert_array != NULL);
-       bool has_vcol = (cd_loop_color_offset != -1) && (has_vcol_preview == false);
-       bool has_vcol_any = (has_vcol_preview || has_vcol);
-       int i;
-
-       (void) compareDrawOptions;
-
-       luv[0] = luv[1] = luv[2] = &dummyluv;
-
-       // dummylcol.r = dummylcol.g = dummylcol.b = dummylcol.a = 255;  /* UNUSED */
-
-       /* always use smooth shading even for flat faces, else vertex colors wont interpolate */
-       BM_mesh_elem_index_ensure(bm, BM_FACE);
-
-       /* call again below is ok */
-       if (has_vcol_preview) {
-               BM_mesh_elem_index_ensure(bm, BM_VERT);
-       }
-
-       if (bmdm->vertexCos) {
-               /* add direct access */
-               const float (*vertexCos)[3] = bmdm->vertexCos;
-               const float (*vertexNos)[3];
-               const float (*polyNos)[3];
-
-               emDM_ensureVertNormals(bmdm);
-               emDM_ensurePolyNormals(bmdm);
-               vertexNos = bmdm->vertexNos;
-               polyNos = bmdm->polyNos;
-
-               BM_mesh_elem_index_ensure(bm, lnors ? BM_LOOP | BM_VERT : BM_VERT);
-
-               for (i = 0; i < em->tottri; i++) {
-                       BMLoop **ltri = looptris[i];
-                       MTexPoly *tp = (cd_poly_tex_offset != -1) ? BM_ELEM_CD_GET_VOID_P(ltri[0]->f, cd_poly_tex_offset) : NULL;
-                       /*unsigned char *cp = NULL;*/ /*UNUSED*/
-                       int drawSmooth = lnors || BM_elem_flag_test(ltri[0]->f, BM_ELEM_SMOOTH);
-                       DMDrawOption draw_option;
-
-                       efa = ltri[0]->f;
-
-                       if (drawParams) {
-                               draw_option = drawParams(tp, has_vcol, efa->mat_nr);
-                       }
-                       else if (drawParamsMapped)
-                               draw_option = drawParamsMapped(userData, BM_elem_index_get(efa), efa->mat_nr);
-                       else
-                               draw_option = DM_DRAW_OPTION_NORMAL;
-
-                       if (draw_option != DM_DRAW_OPTION_SKIP) {
-
-                               if      (has_uv)            bmdm_get_tri_uv(ltri,  luv,  cd_loop_uv_offset);
-                               if      (has_vcol)          bmdm_get_tri_col(ltri, lcol, cd_loop_color_offset);
-                               else if (has_vcol_preview)  bmdm_get_tri_colpreview(ltri, lcol, color_vert_array);
-
-                               glBegin(GL_TRIANGLES);
-                               if (!drawSmooth) {
-                                       glNormal3fv(polyNos[BM_elem_index_get(efa)]);
-
-                                       glTexCoord2fv(luv[0]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[0]->r));
-                                       glVertex3fv(vertexCos[BM_elem_index_get(ltri[0]->v)]);
-
-                                       glTexCoord2fv(luv[1]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[1]->r));
-                                       glVertex3fv(vertexCos[BM_elem_index_get(ltri[1]->v)]);
-
-                                       glTexCoord2fv(luv[2]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[2]->r));
-                                       glVertex3fv(vertexCos[BM_elem_index_get(ltri[2]->v)]);
-                               }
-                               else {
-                                       glTexCoord2fv(luv[0]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[0]->r));
-                                       if (lnors) glNormal3fv(lnors[BM_elem_index_get(ltri[0])]);
-                                       else glNormal3fv(vertexNos[BM_elem_index_get(ltri[0]->v)]);
-                                       glVertex3fv(vertexCos[BM_elem_index_get(ltri[0]->v)]);
-
-                                       glTexCoord2fv(luv[1]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[1]->r));
-                                       if (lnors) glNormal3fv(lnors[BM_elem_index_get(ltri[1])]);
-                                       else glNormal3fv(vertexNos[BM_elem_index_get(ltri[1]->v)]);
-                                       glVertex3fv(vertexCos[BM_elem_index_get(ltri[1]->v)]);
-
-                                       glTexCoord2fv(luv[2]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[2]->r));
-                                       if (lnors) glNormal3fv(lnors[BM_elem_index_get(ltri[2])]);
-                                       else glNormal3fv(vertexNos[BM_elem_index_get(ltri[2]->v)]);
-                                       glVertex3fv(vertexCos[BM_elem_index_get(ltri[2]->v)]);
-                               }
-                               glEnd();
-                       }
-               }
-       }
-       else {
-               BM_mesh_elem_index_ensure(bm, lnors ? BM_LOOP | BM_VERT : BM_VERT);
-
-               for (i = 0; i < em->tottri; i++) {
-                       BMLoop **ltri = looptris[i];
-                       MTexPoly *tp = (cd_poly_tex_offset != -1) ? BM_ELEM_CD_GET_VOID_P(ltri[0]->f, cd_poly_tex_offset) : NULL;
-                       /*unsigned char *cp = NULL;*/ /*UNUSED*/
-                       int drawSmooth = lnors || BM_elem_flag_test(ltri[0]->f, BM_ELEM_SMOOTH);
-                       DMDrawOption draw_option;
-
-                       efa = ltri[0]->f;
-
-                       if (drawParams)
-                               draw_option = drawParams(tp, has_vcol, efa->mat_nr);
-                       else if (drawParamsMapped)
-                               draw_option = drawParamsMapped(userData, BM_elem_index_get(efa), efa->mat_nr);
-                       else
-                               draw_option = DM_DRAW_OPTION_NORMAL;
-
-                       if (draw_option != DM_DRAW_OPTION_SKIP) {
-
-                               if      (has_uv)            bmdm_get_tri_uv(ltri,  luv,  cd_loop_uv_offset);
-                               if      (has_vcol)          bmdm_get_tri_col(ltri, lcol, cd_loop_color_offset);
-                               else if (has_vcol_preview)  bmdm_get_tri_colpreview(ltri, lcol, color_vert_array);
-
-                               glBegin(GL_TRIANGLES);
-                               if (!drawSmooth) {
-                                       glNormal3fv(efa->no);
-
-                                       glTexCoord2fv(luv[0]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[0]->r));
-                                       glVertex3fv(ltri[0]->v->co);
-
-                                       glTexCoord2fv(luv[1]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[1]->r));
-                                       glVertex3fv(ltri[1]->v->co);
-
-                                       glTexCoord2fv(luv[2]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[2]->r));
-                                       glVertex3fv(ltri[2]->v->co);
-                               }
-                               else {
-                                       glTexCoord2fv(luv[0]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[0]->r));
-                                       if (lnors) glNormal3fv(lnors[BM_elem_index_get(ltri[0])]);
-                                       else glNormal3fv(ltri[0]->v->no);
-                                       glVertex3fv(ltri[0]->v->co);
-
-                                       glTexCoord2fv(luv[1]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[1]->r));
-                                       if (lnors) glNormal3fv(lnors[BM_elem_index_get(ltri[1])]);
-                                       else glNormal3fv(ltri[1]->v->no);
-                                       glVertex3fv(ltri[1]->v->co);
-
-                                       glTexCoord2fv(luv[2]->uv);
-                                       if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[2]->r));
-                                       if (lnors) glNormal3fv(lnors[BM_elem_index_get(ltri[2])]);
-                                       else glNormal3fv(ltri[2]->v->no);
-                                       glVertex3fv(ltri[2]->v->co);
-                               }
-                               glEnd();
-                       }
-               }
-       }
-}
-
-static void emDM_drawFacesTex(
-        DerivedMesh *dm,
-        DMSetDrawOptionsTex setDrawOptions,
-        DMCompareDrawOptions compareDrawOptions,
-        void *userData, DMDrawFlag UNUSED(flag))
-{
-       emDM_drawFacesTex_common(dm, setDrawOptions, NULL, compareDrawOptions, userData);
-}
-
-static void emDM_drawMappedFacesTex(
-        DerivedMesh *dm,
-        DMSetDrawOptionsMappedTex setDrawOptions,
-        DMCompareDrawOptions compareDrawOptions,
-        void *userData, DMDrawFlag UNUSED(flag))
-{
-       emDM_drawFacesTex_common(dm, NULL, setDrawOptions, compareDrawOptions, userData);
-}
-
 /**
  * \note
  *
@@ -1695,7 +1483,6 @@ static void *emDM_getTessFaceDataArray(DerivedMesh *dm, int type)
                                        // bmdata = CustomData_bmesh_get(&bm->pdata, efa->head.data, CD_MTEXPOLY);
                                        bmdata = BM_ELEM_CD_GET_VOID_P(efa, cd_poly_tex_offset);
 
-                                       ME_MTEXFACE_CPY(((MTFace *)data), ((const MTexPoly *)bmdata));
                                        for (j = 0; j < 3; j++) {
                                                // bmdata = CustomData_bmesh_get(&bm->ldata, looptris[i][j]->head.data, CD_MLOOPUV);
                                                bmdata = BM_ELEM_CD_GET_VOID_P(looptris[i][j], cd_loop_uv_offset);
@@ -1889,10 +1676,8 @@ DerivedMesh *getEditDerivedBMesh(
        bmdm->dm.drawMappedEdges = emDM_drawMappedEdges;
        bmdm->dm.drawMappedEdgesInterp = emDM_drawMappedEdgesInterp;
        bmdm->dm.drawMappedFaces = emDM_drawMappedFaces;
-       bmdm->dm.drawMappedFacesTex = emDM_drawMappedFacesTex;
        bmdm->dm.drawMappedFacesGLSL = emDM_drawMappedFacesGLSL;
        bmdm->dm.drawMappedFacesMat = emDM_drawMappedFacesMat;
-       bmdm->dm.drawFacesTex = emDM_drawFacesTex;
        bmdm->dm.drawFacesGLSL = emDM_drawFacesGLSL;
 
        bmdm->dm.release = emDM_release;
index 7e3791acc263feccd29070305f29b4e4a140c812..127d211e3f113d1c99d472773dc5069a53b9b0d5 100644 (file)
@@ -2161,8 +2161,8 @@ void BKE_mesh_calc_volume(
  */
 void BKE_mesh_loops_to_mface_corners(
         CustomData *fdata, CustomData *ldata,
-        CustomData *pdata, unsigned int lindex[4], int findex,
-        const int polyindex,
+        CustomData *UNUSED(pdata), unsigned int lindex[4], int findex,
+        const int UNUSED(polyindex),
         const int mf_len, /* 3 or 4 */
 
         /* cache values to avoid lookups every time */
@@ -2174,7 +2174,6 @@ void BKE_mesh_loops_to_mface_corners(
 )
 {
        MTFace *texface;
-       MTexPoly *texpoly;
        MCol *mcol;
        MLoopCol *mloopcol;
        MLoopUV *mloopuv;
@@ -2182,9 +2181,6 @@ void BKE_mesh_loops_to_mface_corners(
 
        for (i = 0; i < numTex; i++) {
                texface = CustomData_get_n(fdata, CD_MTFACE, findex, i);
-               texpoly = CustomData_get_n(pdata, CD_MTEXPOLY, polyindex, i);
-
-               ME_MTEXFACE_CPY(texface, texpoly);
 
                for (j = 0; j < mf_len; j++) {
                        mloopuv = CustomData_get_n(ldata, CD_MLOOPUV, (int)lindex[j], i);
@@ -2255,15 +2251,12 @@ void BKE_mesh_loops_to_tessdata(CustomData *fdata, CustomData *ldata, CustomData
 
        for (i = 0; i < numTex; i++) {
                MTFace *texface = CustomData_get_layer_n(fdata, CD_MTFACE, i);
-               MTexPoly *texpoly = CustomData_get_layer_n(pdata, CD_MTEXPOLY, i);
                MLoopUV *mloopuv = CustomData_get_layer_n(ldata, CD_MLOOPUV, i);
 
                for (findex = 0, pidx = polyindices, lidx = loopindices;
                     findex < num_faces;
                     pidx++, lidx++, findex++, texface++)
                {
-                       ME_MTEXFACE_CPY(texface, &texpoly[*pidx]);
-
                        for (j = (mface ? mface[findex].v4 : (*lidx)[3]) ? 4 : 3; j--;) {
                                copy_v2_v2(texface->uv[j], mloopuv[(*lidx)[j]].uv);
                        }
@@ -2885,11 +2878,11 @@ int BKE_mesh_mpoly_to_mface(struct CustomData *fdata, struct CustomData *ldata,
 #endif /* USE_BMESH_SAVE_AS_COMPAT */
 
 
-static void bm_corners_to_loops_ex(ID *id, CustomData *fdata, CustomData *ldata, CustomData *pdata,
-                                   MFace *mface, int totloop, int findex, int loopstart, int numTex, int numCol)
+static void bm_corners_to_loops_ex(
+        ID *id, CustomData *fdata, CustomData *ldata,
+        MFace *mface, int totloop, int findex, int loopstart, int numTex, int numCol)
 {
        MTFace *texface;
-       MTexPoly *texpoly;
        MCol *mcol;
        MLoopCol *mloopcol;
        MLoopUV *mloopuv;
@@ -2900,9 +2893,6 @@ static void bm_corners_to_loops_ex(ID *id, CustomData *fdata, CustomData *ldata,
 
        for (i = 0; i < numTex; i++) {
                texface = CustomData_get_n(fdata, CD_MTFACE, findex, i);
-               texpoly = CustomData_get_n(pdata, CD_MTEXPOLY, findex, i);
-
-               ME_MTEXFACE_CPY(texpoly, texface);
 
                mloopuv = CustomData_get_n(ldata, CD_MLOOPUV, loopstart, i);
                copy_v2_v2(mloopuv->uv, texface->uv[0]); mloopuv++;
@@ -3103,7 +3093,7 @@ void BKE_mesh_convert_mfaces_to_mpolys_ex(ID *id, CustomData *fdata, CustomData
 
 #       undef ML
 
-               bm_corners_to_loops_ex(id, fdata, ldata, pdata, mface, totloop, i, mp->loopstart, numTex, numCol);
+               bm_corners_to_loops_ex(id, fdata, ldata, mface, totloop, i, mp->loopstart, numTex, numCol);
 
                if (polyindex) {
                        *polyindex = i;
index da7bbb55b0091c5df6d2c691f1208f917cf7c08e..1f72744bdeec5a7d0ff572bb9298f25f9da03cc3 100644 (file)
@@ -3410,231 +3410,6 @@ static void ccgDM_drawMappedFacesMat(DerivedMesh *dm,
 #undef PASSATTRIB
 }
 
-static void ccgDM_drawFacesTex_common(DerivedMesh *dm,
-                                      DMSetDrawOptionsTex drawParams,
-                                      DMSetDrawOptionsMappedTex drawParamsMapped,
-                                      DMCompareDrawOptions compareDrawOptions,
-                                      void *userData, DMDrawFlag flag)
-{
-       CCGDerivedMesh *ccgdm = (CCGDerivedMesh *) dm;
-       CCGSubSurf *ss = ccgdm->ss;
-       CCGKey key;
-       int colType;
-       const MLoopCol *mloopcol = NULL;
-       MTexPoly *mtexpoly = DM_get_poly_data_layer(dm, CD_MTEXPOLY);
-       DMFlagMat *faceFlags = ccgdm->faceFlags;
-       DMDrawOption draw_option;
-       int i, totpoly;
-       bool flush;
-       const bool use_tface = (flag & DM_DRAW_USE_ACTIVE_UV) != 0;
-       const bool use_colors = (flag & DM_DRAW_USE_COLORS) != 0;
-       unsigned int next_actualFace;
-       unsigned int gridFaces = ccgSubSurf_getGridSize(ss) - 1;
-       int mat_index;
-       int tot_element, start_element, tot_drawn;
-
-       if (use_colors) {
-               colType = CD_TEXTURE_MLOOPCOL;
-               mloopcol = dm->getLoopDataArray(dm, colType);
-               if (!mloopcol) {
-                       colType = CD_PREVIEW_MLOOPCOL;
-                       mloopcol = dm->getLoopDataArray(dm, colType);
-               }
-               if (!mloopcol) {
-                       colType = CD_MLOOPCOL;
-                       mloopcol = dm->getLoopDataArray(dm, colType);
-               }
-       }
-
-#ifdef WITH_OPENSUBDIV
-       if (ccgdm->useGpuBackend) {
-               const int active_uv_layer = CustomData_get_active_layer_index(&dm->loopData, CD_MLOOPUV);
-               if (UNLIKELY(ccgSubSurf_prepareGLMesh(ss, true, active_uv_layer) == false)) {
-                       return;
-               }
-               if (drawParams == NULL) {
-                       ccgSubSurf_drawGLMesh(ss, true, -1, -1);
-                       return;
-               }
-               const int level = ccgSubSurf_getSubdivisionLevels(ss);
-               const int face_side = 1 << level;
-               const int grid_side = 1 << (level - 1);
-               const int face_patches = face_side * face_side;
-               const int grid_patches = grid_side * grid_side;
-               const int num_base_faces = ccgSubSurf_getNumGLMeshBaseFaces(ss);
-               int current_patch = 0;
-               int mat_nr = -1;
-               int start_draw_patch = 0, num_draw_patches = 0;
-               bool draw_smooth = false;
-               for (i = 0; i < num_base_faces; ++i) {
-                       const int num_face_verts = ccgSubSurf_getNumGLMeshBaseFaceVerts(ss, i);
-                       const int num_patches = (num_face_verts == 4) ? face_patches
-                                                                     : num_face_verts * grid_patches;
-                       if (faceFlags) {
-                               mat_nr = faceFlags[i].mat_nr;
-                               draw_smooth = (faceFlags[i].flag & ME_SMOOTH);
-                       }
-                       else {
-                               mat_nr = 0;
-                               draw_smooth = false;
-                       }
-
-                       if (drawParams != NULL) {
-                               MTexPoly *tp = (use_tface && mtexpoly) ? &mtexpoly[i] : NULL;
-                               draw_option = drawParams(tp, (mloopcol != NULL), mat_nr);
-                       }
-                       else {
-                               draw_option = (drawParamsMapped)
-                                                 ? drawParamsMapped(userData, i, mat_nr)
-                                                 : DM_DRAW_OPTION_NORMAL;
-                       }
-
-                       flush = (draw_option == DM_DRAW_OPTION_SKIP) || (i == num_base_faces - 1);
-
-                       const int next_face = min_ii(i + 1, num_base_faces - 1);
-                       if (!flush && compareDrawOptions) {
-                               flush |= compareDrawOptions(userData, i, next_face) == 0;
-                       }
-                       if (!flush && faceFlags) {
-                               bool new_draw_smooth = (faceFlags[next_face].flag & ME_SMOOTH);
-                               flush |= (new_draw_smooth != draw_smooth);
-                       }
-
-                       current_patch += num_patches;
-
-                       if (flush) {
-                               if (draw_option != DM_DRAW_OPTION_SKIP) {
-                                       num_draw_patches += num_patches;
-                               }
-                               if (num_draw_patches != 0) {
-                                       glShadeModel(draw_smooth ? GL_SMOOTH : GL_FLAT);
-                                       ccgSubSurf_drawGLMesh(ss,
-                                                             true,
-                                                             start_draw_patch,
-                                                             num_draw_patches);
-                               }
-                               start_draw_patch = current_patch;
-                               num_draw_patches = 0;
-                       }
-                       else {
-                               num_draw_patches += num_patches;
-                       }
-               }
-               glShadeModel(GL_SMOOTH);
-               return;
-       }
-#endif
-
-       CCG_key_top_level(&key, ss);
-       ccgdm_pbvh_update(ccgdm);
-
-       GPU_vertex_setup(dm);
-       GPU_normal_setup(dm);
-       GPU_triangle_setup(dm);
-       if (flag & DM_DRAW_USE_TEXPAINT_UV)
-               GPU_texpaint_uv_setup(dm);
-       else
-               GPU_uv_setup(dm);
-       if (mloopcol) {
-               GPU_color_setup(dm, colType);
-       }
-
-       next_actualFace = 0;
-
-       /* lastFlag = 0; */ /* UNUSED */
-       for (mat_index = 0; mat_index < dm->drawObject->totmaterial; mat_index++) {
-               GPUBufferMaterial *bufmat = dm->drawObject->materials + mat_index;
-               next_actualFace = bufmat->polys[0];
-               totpoly = bufmat->totpolys;
-
-               tot_element = 0;
-               tot_drawn = 0;
-               start_element = 0;
-
-               for (i = 0; i < totpoly; i++) {
-                       int polyindex = bufmat->polys[i];
-                       CCGFace *f = ccgdm->faceMap[polyindex].face;
-                       int numVerts = ccgSubSurf_getFaceNumVerts(f);
-                       int index = ccgDM_getFaceMapIndex(ss, f);
-                       int orig_index = GET_INT_FROM_POINTER(ccgSubSurf_getFaceFaceHandle(f));
-                       int mat_nr;
-                       int facequads = numVerts * gridFaces * gridFaces;
-                       int actualFace = ccgdm->faceMap[polyindex].startFace;
-
-                       if (i != totpoly - 1) {
-                               polyindex = bufmat->polys[i + 1];
-                               next_actualFace = ccgdm->faceMap[polyindex].startFace;
-                       }
-
-                       if (faceFlags) {
-                               mat_nr = faceFlags[orig_index].mat_nr;
-                       }
-                       else {
-                               mat_nr = 0;
-                       }
-
-                       if (drawParams) {
-                               MTexPoly *tp = (use_tface && mtexpoly) ? &mtexpoly[actualFace] : NULL;
-                               draw_option = drawParams(tp, (mloopcol != NULL), mat_nr);
-                       }
-                       else if (index != ORIGINDEX_NONE)
-                               draw_option = (drawParamsMapped) ? drawParamsMapped(userData, index, mat_nr) : DM_DRAW_OPTION_NORMAL;
-                       else
-                               draw_option = DM_DRAW_OPTION_NORMAL;
-
-                       /* flush buffer if current triangle isn't drawable or it's last triangle */
-                       flush = (draw_option == DM_DRAW_OPTION_SKIP) || (i == totpoly - 1);
-
-                       if (!flush && compareDrawOptions) {
-                               /* also compare draw options and flush buffer if they're different
-                                * need for face selection highlight in edit mode */
-                               flush |= compareDrawOptions(userData, actualFace, next_actualFace) == 0;
-                       }
-
-                       tot_element += facequads * 6;
-
-                       if (flush) {
-                               if (draw_option != DM_DRAW_OPTION_SKIP)
-                                       tot_drawn += facequads * 6;
-
-                               if (tot_drawn) {
-                                       if (mloopcol && draw_option != DM_DRAW_OPTION_NO_MCOL)
-                                               GPU_color_switch(1);
-                                       else
-                                               GPU_color_switch(0);
-
-                                       GPU_buffer_draw_elements(dm->drawObject->triangles, GL_TRIANGLES, bufmat->start + start_element, tot_drawn);
-                                       tot_drawn = 0;
-                               }
-
-                               start_element = tot_element;
-                       }
-                       else {
-                               tot_drawn += facequads * 6;
-                       }
-               }
-       }
-
-
-       GPU_buffers_unbind();
-}
-
-static void ccgDM_drawFacesTex(DerivedMesh *dm,
-                               DMSetDrawOptionsTex setDrawOptions,
-                               DMCompareDrawOptions compareDrawOptions,
-                               void *userData, DMDrawFlag flag)
-{
-       ccgDM_drawFacesTex_common(dm, setDrawOptions, NULL, compareDrawOptions, userData, flag);
-}
-
-static void ccgDM_drawMappedFacesTex(DerivedMesh *dm,
-                                     DMSetDrawOptionsMappedTex setDrawOptions,
-                                     DMCompareDrawOptions compareDrawOptions,
-                                     void *userData, DMDrawFlag flag)
-{
-       ccgDM_drawFacesTex_common(dm, NULL, setDrawOptions, compareDrawOptions, userData, flag);
-}
-
 static void ccgDM_drawMappedFaces(DerivedMesh *dm,
                                   DMSetDrawOptions setDrawOptions,
                                   DMSetMaterial setMaterial,
@@ -4554,10 +4329,8 @@ static void set_default_ccgdm_callbacks(CCGDerivedMesh *ccgdm)
        ccgdm->dm.drawEdges = ccgDM_drawEdges;
        ccgdm->dm.drawLooseEdges = ccgDM_drawLooseEdges;
        ccgdm->dm.drawFacesSolid = ccgDM_drawFacesSolid;
-       ccgdm->dm.drawFacesTex = ccgDM_drawFacesTex;
        ccgdm->dm.drawFacesGLSL = ccgDM_drawFacesGLSL;
        ccgdm->dm.drawMappedFaces = ccgDM_drawMappedFaces;
-       ccgdm->dm.drawMappedFacesTex = ccgDM_drawMappedFacesTex;
        ccgdm->dm.drawMappedFacesGLSL = ccgDM_drawMappedFacesGLSL;
        ccgdm->dm.drawMappedFacesMat = ccgDM_drawMappedFacesMat;
 
index 933aae2f60df513df8aac2e09b5c47d827256a10..67b629222a22aadac02136f83e1fc2a354a004c0 100644 (file)
@@ -319,55 +319,6 @@ static void idproperties_fix_group_lengths(ListBase idlist)
        }
 }
 
-static void alphasort_version_246(FileData *fd, Library *lib, Mesh *me)
-{
-       Material *ma;
-       MFace *mf;
-       MTFace *tf;
-       int a, b, texalpha;
-
-       /* verify we have a tface layer */
-       for (b = 0; b < me->fdata.totlayer; b++)
-               if (me->fdata.layers[b].type == CD_MTFACE)
-                       break;
-
-       if (b == me->fdata.totlayer)
-               return;
-
-       /* if we do, set alpha sort if the game engine did it before */
-       for (a = 0, mf = me->mface; a < me->totface; a++, mf++) {
-               if (mf->mat_nr < me->totcol) {
-                       ma = blo_do_versions_newlibadr(fd, lib, me->mat[mf->mat_nr]);
-                       texalpha = 0;
-
-                       /* we can't read from this if it comes from a library,
-                        * because direct_link might not have happened on it,
-                        * so ma->mtex is not pointing to valid memory yet */
-                       if (ma && ma->id.lib)
-                               ma = NULL;
-
-                       for (b = 0; ma && b < MAX_MTEX; b++)
-                               if (ma->mtex[b] && ma->mtex[b]->mapto & MAP_ALPHA)
-                                       texalpha = 1;
-               }
-               else {
-                       ma = NULL;
-                       texalpha = 0;
-               }
-
-               for (b = 0; b < me->fdata.totlayer; b++) {
-                       if (me->fdata.layers[b].type == CD_MTFACE) {
-                               tf = ((MTFace*)me->fdata.layers[b].data) + a;
-
-                               tf->mode &= ~TF_ALPHASORT;
-                               if (ma && (ma->mode & MA_ZTRANSP))
-                                       if (ELEM(tf->transp, TF_ALPHA, TF_ADD) || (texalpha && (tf->transp != TF_CLIP)))
-                                               tf->mode |= TF_ALPHASORT;
-                       }
-               }
-       }
-}
-
 static void customdata_version_242(Mesh *me)
 {
        CustomDataLayer *layer;
@@ -403,12 +354,6 @@ static void customdata_version_242(Mesh *me)
                        for (a = 0; a < me->totface; a++, mtf++, tf++, mcol += 4) {
                                memcpy(mcol, tf->col, sizeof(tf->col));
                                memcpy(mtf->uv, tf->uv, sizeof(tf->uv));
-
-                               mtf->flag = tf->flag;
-                               mtf->unwrap = tf->unwrap;
-                               mtf->mode = tf->mode;
-                               mtf->tile = tf->tile;
-                               mtf->transp = tf->transp;
                        }
 
                        MEM_freeN(me->tface);
@@ -915,23 +860,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main)
                }
        }
 
-       if (main->versionfile <= 196) {
-               Mesh *me = main->mesh.first;
-               int a, b;
-               while (me) {
-                       if (me->tface) {
-                               TFace *tface = me->tface;
-                               for (a = 0; a < me->totface; a++, tface++) {
-                                       for (b = 0; b < 4; b++) {
-                                               tface->mode |= TF_DYNAMIC;
-                                               tface->mode &= ~TF_INVISIBLE;
-                                       }
-                               }
-                       }
-                       me = me->id.next;
-               }
-       }
-
        if (main->versionfile <= 200) {
                Object *ob = main->object.first;
                while (ob) {
@@ -3289,14 +3217,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main)
                }
        }
 
-
-       if (main->versionfile < 246 || (main->versionfile == 246 && main->subversionfile < 1)) {
-               Mesh *me;
-
-               for (me = main->mesh.first; me; me = me->id.next)
-                       alphasort_version_246(fd, lib, me);
-       }
-
        if (main->versionfile < 246 || (main->versionfile == 246 && main->subversionfile < 1)) {
                Object *ob;
                for (ob = main->object.first; ob; ob = ob->id.next) {
index de798b1fce2ee29130f00a54a8f7516bd7e9533e..e3e9b7ade8101cb8108aa708bf0960523503c7e1 100644 (file)
@@ -113,8 +113,8 @@ struct UvElementMap *BM_uv_element_map_create(
 void                 BM_uv_element_map_free(struct UvElementMap *vmap);
 struct UvElement    *BM_uv_element_get(struct UvElementMap *map, struct BMFace *efa, struct BMLoop *l);
 
-bool             EDBM_mtexpoly_check(struct BMEditMesh *em);
-struct MTexPoly *EDBM_mtexpoly_active_get(struct BMEditMesh *em, struct BMFace **r_act_efa, const bool sloppy, const bool selected);
+bool           EDBM_mtexpoly_check(struct BMEditMesh *em);
+struct BMFace *EDBM_mtexpoly_active_get(struct BMEditMesh *em, const bool sloppy, const bool selected);
 
 void              BM_uv_vert_map_free(struct UvVertMap *vmap);
 struct UvMapVert *BM_uv_vert_map_at_index(struct UvVertMap *vmap, unsigned int v);
index 56e6c56821d21bcff92be2863e0ad18774f8925c..cba2a4409596bb8016bbff82d58356990677d79e 100644 (file)
@@ -38,7 +38,6 @@ struct BMLoop;
 struct Depsgraph;
 struct Image;
 struct ImageUser;
-struct MTexPoly;
 struct Main;
 struct Object;
 struct Scene;
index 438c3acdb1137d3a05ce6a21176007e641bb1e62..288d65168d85cb482f93386c1a631b79498bf0e4 100644 (file)
@@ -520,7 +520,6 @@ UvVertMap *BM_uv_vert_map_create(
        /* vars from original func */
        UvVertMap *vmap;
        UvMapVert *buf;
-       /* MTexPoly *tf; */ /* UNUSED */
        MLoopUV *luv;
        unsigned int a;
        int totverts, i, totuv, totfaces;
@@ -929,7 +928,7 @@ UvElement *BM_uv_element_get(UvElementMap *map, BMFace *efa, BMLoop *l)
 
 /* last_sel, use em->act_face otherwise get the last selected face in the editselections
  * at the moment, last_sel is mainly useful for making sure the space image dosnt flicker */
-MTexPoly *EDBM_mtexpoly_active_get(BMEditMesh *em, BMFace **r_act_efa, const bool sloppy, const bool selected)
+BMFace *EDBM_mtexpoly_active_get(BMEditMesh *em, const bool sloppy, const bool selected)
 {
        BMFace *efa = NULL;
        
@@ -939,11 +938,9 @@ MTexPoly *EDBM_mtexpoly_active_get(BMEditMesh *em, BMFace **r_act_efa, const boo
        efa = BM_mesh_active_face_get(em->bm, sloppy, selected);
 
        if (efa) {
-               if (r_act_efa) *r_act_efa = efa;
-               return CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY);
+               return efa;
        }
 
-       if (r_act_efa) *r_act_efa = NULL;
        return NULL;
 }
 
index 601b1fa8e72af6822626669acb6e74d8814d5265..328aa161edea69d58f92d5786090947d20473a51 100644 (file)
@@ -435,13 +435,6 @@ static void image_refresh(const bContext *C, ScrArea *sa)
                                        Image *image = BKE_object_material_edit_image_get(obedit, efa->mat_nr);
 
                                        sima->image = image;
-                                       
-                                       MTexPoly *tf = CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY);
-                                       if (tf) {
-                                               if ((sima->flag & SI_EDITTILE) == 0) {
-                                                       sima->curtile = tf->tile;
-                                               }
-                                       }
                                }
                        }
                }
index 6b9855ad2db37ec80004cabb541add3aeb312bcf..719fb6f764fd786677c3f3932dfa0f50be5ed4bc 100644 (file)
@@ -77,20 +77,6 @@ typedef struct drawMeshFaceSelect_userData {
        BLI_bitmap *edge_flags; /* pairs of edge options (visible, select) */
 } drawMeshFaceSelect_userData;
 
-typedef struct drawEMTFMapped_userData {
-       BMEditMesh *em;
-       bool has_mcol;
-       int cd_poly_tex_offset;
-       const MPoly *mpoly;
-       const MTexPoly *mtexpoly;
-} drawEMTFMapped_userData;
-
-typedef struct drawTFace_userData {
-       const Mesh *me;
-       const MPoly *mpoly;
-       const MTexPoly *mtexpoly;
-} drawTFace_userData;
-
 /**************************** Face Select Mode *******************************/
 
 /* mainly to be less confusing */
index fc87e1d6ec4d916942ee2a727ab80b3df9e8bba5..15f0a66ca1b223f10971952bf0532b719ff2ba2d 100644 (file)
@@ -1307,7 +1307,6 @@ static void RestoreState(bContext *C, wmWindow *win)
                win->queue = queue_back;
        
        GPU_state_init();
-       GPU_set_tpage(NULL, 0, 0);
 
        glPopAttrib();
 }
index eb86d3a5f7dd8cc856ac65612030ca290b6f8cce..1cb913c316ade2cb20318d0d88f4afa2cf910800 100644 (file)
@@ -179,20 +179,18 @@ static void draw_uvs_shadow(Object *obedit)
        immUnbindProgram();
 }
 
-static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTexPoly *activetf)
+static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, const BMFace *efa_act)
 {
        BMesh *bm = em->bm;
        BMFace *efa;
        BMLoop *l;
        BMIter iter, liter;
-       MTexPoly *tf;
        MLoopUV *luv;
        Image *ima = sima->image;
        float aspx, aspy, col[4];
        int i;
 
        const int cd_loop_uv_offset  = CustomData_get_offset(&bm->ldata, CD_MLOOPUV);
-       const int cd_poly_tex_offset = CustomData_get_offset(&bm->pdata, CD_MTEXPOLY);
 
        BLI_buffer_declare_static(vec2f, tf_uv_buf, BLI_BUFFER_NOP, BM_DEFAULT_NGON_STACK_SIZE);
        BLI_buffer_declare_static(vec2f, tf_uvorig_buf, BLI_BUFFER_NOP, BM_DEFAULT_NGON_STACK_SIZE);
@@ -208,7 +206,6 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe
                                const int efa_len = efa->len;
                                float (*tf_uv)[2]     = (float (*)[2])BLI_buffer_reinit_data(&tf_uv_buf,     vec2f, efa_len);
                                float (*tf_uvorig)[2] = (float (*)[2])BLI_buffer_reinit_data(&tf_uvorig_buf, vec2f, efa_len);
-                               tf = BM_ELEM_CD_GET_VOID_P(efa, cd_poly_tex_offset);
 
                                BM_ITER_ELEM_INDEX (l, &liter, efa, BM_LOOPS_OF_FACE, i) {
                                        luv = BM_ELEM_CD_GET_VOID_P(l, cd_loop_uv_offset);
@@ -224,8 +221,9 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe
                                        BM_elem_flag_enable(efa, BM_ELEM_TAG);
                                }
                                else {
-                                       if (tf == activetf)
-                                               activetf = NULL;
+                                       if (efa == efa_act) {
+                                               efa_act = NULL;
+                                       }
                                        BM_elem_flag_disable(efa, BM_ELEM_TAG);
                                }
                        }
@@ -316,8 +314,6 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe
                        immBindBuiltinProgram(GPU_SHADER_2D_SMOOTH_COLOR);
 
                        BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) {
-                               tf = BM_ELEM_CD_GET_VOID_P(efa, cd_poly_tex_offset);
-                               
                                if (uvedit_face_visible_test(scene, ima, efa)) {
                                        const int efa_len = efa->len;
                                        float (*tf_uv)[2]     = (float (*)[2])BLI_buffer_reinit_data(&tf_uv_buf,     vec2f, efa_len);
@@ -367,8 +363,8 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe
                                        immEnd();
                                }
                                else {
-                                       if (tf == activetf)
-                                               activetf = NULL;
+                                       if (efa == efa_act)
+                                               efa_act = NULL;
                                        BM_elem_flag_disable(efa, BM_ELEM_TAG);
                                }
                        }
@@ -618,7 +614,6 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, SceneLayer *sl, Object *obe
        BMFace *efa, *efa_act;
        BMLoop *l;
        BMIter iter, liter;
-       MTexPoly *tf, *activetf = NULL;
        MLoopUV *luv;
        unsigned char col1[4], col2[4];
        float pointsize;
@@ -626,11 +621,10 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, SceneLayer *sl, Object *obe
        Image *ima = sima->image;
 
        const int cd_loop_uv_offset  = CustomData_get_offset(&bm->ldata, CD_MLOOPUV);
-       const int cd_poly_tex_offset = CustomData_get_offset(&bm->pdata, CD_MTEXPOLY);
 
        unsigned int pos;
 
-       activetf = EDBM_mtexpoly_active_get(em, &efa_act, false, false); /* will be set to NULL if hidden */
+       efa_act = EDBM_mtexpoly_active_get(em, false, false); /* will be set to NULL if hidden */
        ts = scene->toolsettings;
 
        drawfaces = draw_uvs_face_check(scene);
@@ -675,7 +669,7 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, SceneLayer *sl, Object *obe
        /* 2. draw colored faces */
        
        if (sima->flag & SI_DRAW_STRETCH) {
-               draw_uvs_stretch(sima, scene, em, activetf);
+               draw_uvs_stretch(sima, scene, em, efa_act);
        }
        else if (!(sima->flag & SI_NO_DRAWFACES)) {
                /* draw transparent faces */
@@ -690,7 +684,6 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, SceneLayer *sl, Object *obe
 
                for (unsigned int i = 0; i < em->tottri; i++) {
                        efa = em->looptris[i][0]->f;
-                       tf = BM_ELEM_CD_GET_VOID_P(efa, cd_poly_tex_offset);
                        if (uvedit_face_visible_test(scene, ima, efa)) {
                                const bool is_select = uvedit_face_select_test(scene, efa, cd_loop_uv_offset);
                                BM_elem_flag_enable(efa, BM_ELEM_TAG);
@@ -720,14 +713,12 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, SceneLayer *sl, Object *obe
                /* would be nice to do this within a draw loop but most below are optional, so it would involve too many checks */
                
                BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) {
-                       tf = BM_ELEM_CD_GET_VOID_P(efa, cd_poly_tex_offset);
-
                        if (uvedit_face_visible_test(scene, ima, efa)) {
                                BM_elem_flag_enable(efa, BM_ELEM_TAG);
                        }
                        else {
-                               if (tf == activetf)
-                                       activetf = NULL;
+                               if (efa == efa_act)
+                                       efa_act = NULL;
                                BM_elem_flag_disable(efa, BM_ELEM_TAG);
                        }
                }
@@ -765,11 +756,8 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, SceneLayer *sl, Object *obe
                        BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) {
                                if (!BM_elem_flag_test(efa, BM_ELEM_TAG))
                                        continue;
-                               tf = BM_ELEM_CD_GET_VOID_P(efa, cd_poly_tex_offset);
 
-                               if (tf) {
-                                       draw_uvs_lineloop_bmface(efa, cd_loop_uv_offset, shdr_pos);
-                               }
+                               draw_uvs_lineloop_bmface(efa, cd_loop_uv_offset, shdr_pos);
                        }
 
                        immUnbindProgram();
index e028c08091cc366cbbd9059ce9307fee50451955..6ca469414044ce31bdeefe15a73876c53c6f2320 100644 (file)
@@ -32,7 +32,6 @@
 #ifndef __UVEDIT_INTERN_H__
 #define __UVEDIT_INTERN_H__
 
-struct MTexPoly;
 struct Image;
 struct Object;
 struct Scene;
@@ -53,7 +52,6 @@ void  uv_poly_center(struct BMFace *f, float r_cent[2], const int cd_loop_uv_off
 
 typedef struct NearestHit {
        struct BMFace *efa;
-       struct MTexPoly *tf;
        struct BMLoop *l;
        struct MLoopUV *luv, *luv_next;
        int lindex;  /* index of loop within face */
index 8a0d5b0b6e9881a2066858cc8df6922f856274fb..02257a08c21d5e7041851a589f845598beb12bea 100644 (file)
@@ -266,43 +266,6 @@ void ED_uvedit_assign_image(Main *UNUSED(bmain), Scene *scene, Object *obedit, I
 
 }
 
-/* dotile - 1, set the tile flag (from the space image)
- *          2, set the tile index for the faces. */
-static bool uvedit_set_tile(Object *obedit, Image *ima, int curtile)
-{
-       BMEditMesh *em;
-       BMFace *efa;
-       BMIter iter;
-       MTexPoly *tf;
-       int cd_poly_tex_offset;
-       
-       /* verify if we have something to do */
-       if (!ima || !ED_uvedit_test(obedit))
-               return false;
-
-       if ((ima->tpageflag & IMA_TILES) == 0)
-               return false;
-
-       /* skip assigning these procedural images... */
-       if (ima->type == IMA_TYPE_R_RESULT || ima->type == IMA_TYPE_COMPOSITE)
-               return false;
-       
-       em = BKE_editmesh_from_object(obedit);
-
-       cd_poly_tex_offset = CustomData_get_offset(&em->bm->pdata, CD_MTEXPOLY);
-
-       BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
-               tf = BM_ELEM_CD_GET_VOID_P(efa, cd_poly_tex_offset);
-
-               if (BM_elem_flag_test(efa, BM_ELEM_SELECT))
-                       tf->tile = curtile;  /* set tile index */
-       }
-
-       DAG_id_tag_update(obedit->data, 0);
-
-       return true;
-}
-
 /*********************** space conversion *********************/
 
 static void uvedit_pixel_to_float(SpaceImage *sima, float *dist, float pixeldist)
@@ -731,7 +694,6 @@ static bool uvedit_center(Scene *scene, Image *ima, Object *obedit, float cent[2
 
 void uv_find_nearest_edge(Scene *scene, Image *ima, BMEditMesh *em, const float co[2], NearestHit *hit)
 {
-       MTexPoly *tf;
        BMFace *efa;
        BMLoop *l;
        BMIter iter, liter;
@@ -740,7 +702,6 @@ void uv_find_nearest_edge(Scene *scene, Image *ima, BMEditMesh *em, const float
        int i;
 
        const int cd_loop_uv_offset  = CustomData_get_offset(&em->bm->ldata, CD_MLOOPUV);
-       const int cd_poly_tex_offset = CustomData_get_offset(&em->bm->pdata, CD_MTEXPOLY);
 
        mindist_squared = 1e10f;
        memset(hit, 0, sizeof(*hit));
@@ -748,7 +709,6 @@ void uv_find_nearest_edge(Scene *scene, Image *ima, BMEditMesh *em, const float
        BM_mesh_elem_index_ensure(em->bm, BM_VERT);
        
        BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
-               tf = BM_ELEM_CD_GET_VOID_P(efa, cd_poly_tex_offset);
                if (!uvedit_face_visible_test(scene, ima, efa))
                        continue;
                
@@ -759,7 +719,6 @@ void uv_find_nearest_edge(Scene *scene, Image *ima, BMEditMesh *em, const float
                        dist_squared = dist_squared_to_line_segment_v2(co, luv->uv, luv_next->uv);
 
                        if (dist_squared < mindist_squared) {
-                               hit->tf = tf;
                                hit->efa = efa;
                                
                                hit->l = l;
@@ -775,13 +734,11 @@ void uv_find_nearest_edge(Scene *scene, Image *ima, BMEditMesh *em, const float
 
 static void uv_find_nearest_face(Scene *scene, Image *ima, BMEditMesh *em, const float co[2], NearestHit *hit)
 {
-       MTexPoly *tf;
        BMFace *efa;
        BMIter iter;
        float mindist, dist, cent[2];
 
        const int cd_loop_uv_offset = CustomData_get_offset(&em->bm->ldata, CD_MLOOPUV);
-       const int cd_poly_tex_offset = CustomData_get_offset(&em->bm->pdata, CD_MTEXPOLY);
 
        mindist = 1e10f;
        memset(hit, 0, sizeof(*hit));
@@ -792,7 +749,6 @@ static void uv_find_nearest_face(Scene *scene, Image *ima, BMEditMesh *em, const
        hit->luv = hit->luv_next = NULL;
 
        BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
-               tf = BM_ELEM_CD_GET_VOID_P(efa, cd_poly_tex_offset);
                if (!uvedit_face_visible_test(scene, ima, efa))
                        continue;
 
@@ -801,7 +757,6 @@ static void uv_find_nearest_face(Scene *scene, Image *ima, BMEditMesh *em, const
                dist = len_manhattan_v2v2(co, cent);
 
                if (dist < mindist) {
-                       hit->tf = tf;
                        hit->efa = efa;
                        mindist = dist;
                }
@@ -825,13 +780,11 @@ void uv_find_nearest_vert(Scene *scene, Image *ima, BMEditMesh *em,
        BMFace *efa;
        BMLoop *l;
        BMIter iter, liter;
-       MTexPoly *tf;
        MLoopUV *luv;
        float mindist, dist;
        int i;
 
        const int cd_loop_uv_offset  = CustomData_get_offset(&em->bm->ldata, CD_MLOOPUV);
-       const int cd_poly_tex_offset = CustomData_get_offset(&em->bm->pdata, CD_MTEXPOLY);
 
        /*this will fill in hit.vert1 and hit.vert2*/
        uv_find_nearest_edge(scene, ima, em, co, hit);
@@ -844,7 +797,6 @@ void uv_find_nearest_vert(Scene *scene, Image *ima, BMEditMesh *em,
        BM_mesh_elem_index_ensure(em->bm, BM_VERT);
 
        BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
-               tf = BM_ELEM_CD_GET_VOID_P(efa, cd_poly_tex_offset);
                if (!uvedit_face_visible_test(scene, ima, efa))
                        continue;
 
@@ -867,7 +819,6 @@ void uv_find_nearest_vert(Scene *scene, Image *ima, BMEditMesh *em,
                                hit->l = l;
                                hit->luv = luv;
                                hit->luv_next = BM_ELEM_CD_GET_VOID_P(l->next, cd_loop_uv_offset);
-                               hit->tf = tf;
                                hit->efa = efa;
                                hit->lindex = i;
                        }
@@ -2619,7 +2570,6 @@ static void uv_select_flush_from_tag_face(SpaceImage *sima, Scene *scene, Object
        BMFace *efa;
        BMLoop *l;
        BMIter iter, liter;
-       /* MTexPoly *tf; */
        const int cd_loop_uv_offset = CustomData_get_offset(&em->bm->ldata, CD_MLOOPUV);
        
        if ((ts->uv_flag & UV_SYNC_SELECTION) == 0 && sima->sticky == SI_STICKY_VERTEX) {
@@ -2708,7 +2658,6 @@ static void uv_select_flush_from_tag_loop(SpaceImage *sima, Scene *scene, Object
        BMFace *efa;
        BMLoop *l;
        BMIter iter, liter;
-       /* MTexPoly *tf; */
 
        const int cd_loop_uv_offset = CustomData_get_offset(&em->bm->ldata, CD_MLOOPUV);
 
@@ -3862,73 +3811,6 @@ static void UV_OT_cursor_set(wmOperatorType *ot)
                             "Cursor location in normalized (0.0-1.0) coordinates", -10.0f, 10.0f);
 }
 
-/********************** set tile operator **********************/
-
-static int set_tile_exec(bContext *C, wmOperator *op)
-{
-       Image *ima = CTX_data_edit_image(C);
-       int tile[2];
-       Object *obedit = CTX_data_edit_object(C);
-
-       RNA_int_get_array(op->ptr, "tile", tile);
-
-       if (uvedit_set_tile(obedit, ima, tile[0] + ima->xrep * tile[1])) {
-               WM_event_add_notifier(C, NC_GEOM | ND_DATA, obedit->data);
-               WM_event_add_notifier(C, NC_SPACE | ND_SPACE_IMAGE, NULL);
-
-               return OPERATOR_FINISHED;
-       }
-       
-       return OPERATOR_CANCELLED;
-}
-
-static int set_tile_invoke(bContext *C, wmOperator *op, const wmEvent *event)
-{
-       SpaceImage *sima = CTX_wm_space_image(C);
-       Image *ima = CTX_data_edit_image(C);
-       ARegion *ar = CTX_wm_region(C);
-       float fx, fy;
-       int tile[2];
-
-       if (!ima || !(ima->tpageflag & IMA_TILES))
-               return OPERATOR_CANCELLED;
-
-       UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &fx, &fy);
-
-       if (fx >= 0.0f && fy >= 0.0f && fx < 1.0f && fy < 1.0f) {
-               fx = fx * ima->xrep;
-               fy = fy * ima->yrep;
-               
-               tile[0] = fx;
-               tile[1] = fy;
-               
-               sima->curtile = tile[1] * ima->xrep + tile[0];
-               RNA_int_set_array(op->ptr, "tile", tile);
-       }
-
-       return set_tile_exec(C, op);
-}
-
-static void UV_OT_tile_set(wmOperatorType *ot)
-{
-       /* identifiers */
-       ot->name = "Set Tile";
-       ot->description = "Set UV image tile coordinates";
-       ot->idname = "UV_OT_tile_set";
-       
-       /* api callbacks */
-       ot->exec = set_tile_exec;
-       ot->invoke = set_tile_invoke;
-       ot->poll = ED_operator_image_active;
-
-       /* flags */
-       ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
-
-       /* properties */
-       RNA_def_int_vector(ot->srna, "tile", 2, NULL, 0, INT_MAX, "Tile", "Tile coordinate", 0, 10);
-}
-
-
 static int uv_seams_from_islands_exec(bContext *C, wmOperator *op)
 {
        UvVertMap *vmap;
@@ -4183,7 +4065,6 @@ void ED_operatortypes_uvedit(void)
        WM_operatortype_append(UV_OT_hide);
 
        WM_operatortype_append(UV_OT_cursor_set);
-       WM_operatortype_append(UV_OT_tile_set);
 }
 
 void ED_keymap_uvedit(wmKeyConfig *keyconf)
@@ -4263,7 +4144,6 @@ void ED_keymap_uvedit(wmKeyConfig *keyconf)
 
        /* cursor */
        WM_keymap_add_item(keymap, "UV_OT_cursor_set", ACTIONMOUSE, KM_PRESS, 0, 0);
-       WM_keymap_add_item(keymap, "UV_OT_tile_set", ACTIONMOUSE, KM_PRESS, KM_SHIFT, 0);
        
        /* menus */
        WM_keymap_add_menu(keymap, "IMAGE_MT_uvs_snap", SKEY, KM_PRESS, KM_SHIFT, 0);
index 6df730517019701ba3f2553afbedd4ca12e4ed66..c362a8a6f2df248dd8f5b51572876325c45d7c2e 100644 (file)
@@ -1443,7 +1443,7 @@ static void uv_sphere_project(float target[2], float source[3], float center[3],
                target[0] -= 1.0f;  
 }
 
-static void uv_map_mirror(BMEditMesh *em, BMFace *efa, MTexPoly *UNUSED(tf))
+static void uv_map_mirror(BMEditMesh *em, BMFace *efa)
 {
        BMLoop *l;
        BMIter liter;
@@ -1480,7 +1480,6 @@ static int sphere_project_exec(bContext *C, wmOperator *op)
        BMFace *efa;
        BMLoop *l;
        BMIter iter, liter;
-       MTexPoly *tf;
        MLoopUV *luv;
        float center[3], rotmat[4][4];
 
@@ -1505,8 +1504,7 @@ static int sphere_project_exec(bContext *C, wmOperator *op)
                        uv_sphere_project(luv->uv, l->v->co, center, rotmat);
                }
 
-               tf = CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY);
-               uv_map_mirror(em, efa, tf);
+               uv_map_mirror(em, efa);
        }
 
        uv_map_clip_correct(scene, obedit, em, op);
@@ -1559,7 +1557,6 @@ static int cylinder_project_exec(bContext *C, wmOperator *op)
        BMFace *efa;
        BMLoop *l;
        BMIter iter, liter;
-       MTexPoly *tf;
        MLoopUV *luv;
        float center[3], rotmat[4][4];
 
@@ -1584,8 +1581,7 @@ static int cylinder_project_exec(bContext *C, wmOperator *op)
                        uv_cylinder_project(luv->uv, l->v->co, center, rotmat);
                }
 
-               tf = CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY);
-               uv_map_mirror(em, efa, tf);
+               uv_map_mirror(em, efa);
        }
 
        uv_map_clip_correct(scene, obedit, em, op);
@@ -1621,7 +1617,6 @@ void ED_uvedit_unwrap_cube_project(Object *ob, BMesh *bm, float cube_size, bool
        BMFace *efa;
        BMLoop *l;
        BMIter iter, liter;
-       /* MTexPoly *tf; */ /* UNUSED */
        MLoopUV *luv;
        float *loc, dx, dy;
        int cox, coy;
index 52076c307df5f19ee4cf9099b87b28fe26dd9258..ad7eb0339e0166854394f9c801fd2f187ea4d556 100644 (file)
@@ -39,7 +39,6 @@ extern "C" {
 struct ImBuf;
 struct Image;
 struct ImageUser;
-struct MTexPoly;
 struct Object;
 struct Scene;
 struct SceneLayer;
@@ -93,14 +92,6 @@ bool GPU_material_use_matcaps_get(void);
 void GPU_set_material_alpha_blend(int alphablend);
 int GPU_get_material_alpha_blend(void);
 
-/* TexFace drawing
- * - this is mutually exclusive with material drawing, a mesh should
- *   be drawn using one or the other
- * - passing NULL clears the state again */
-
-int GPU_set_tpage(struct MTexPoly *mtexpoly, int mipmap, int transp);
-void GPU_clear_tpage(bool force);
-
 /* Lights
  * - returns how many lights were enabled
  * - this affects fixed functions materials and texface, not glsl */
@@ -113,8 +104,7 @@ int GPU_scene_object_lights(
  * - based on moving uv coordinates */
 
 void GPU_render_text(
-        struct MTexPoly *mtexpoly, int mode,
-        const char *textstr, int textlen, unsigned int *col,
+        int mode, const char *textstr, int textlen, unsigned int *col,
         const float *v_quad[4], const float *uv_quad[4],
         int glattrib);
 
index 1ae4835e94b9f7379e53047f3497c68b6725014f..529727b5e17db08ecda329a88ea31b0adeecf736 100644 (file)
@@ -108,8 +108,7 @@ static void gpu_mcol(unsigned int ucol)
 }
 
 void GPU_render_text(
-        MTexPoly *mtexpoly, int mode,
-        const char *textstr, int textlen, unsigned int *col,
+        int mode, const char *textstr, int textlen, unsigned int *col,
         const float *v_quad[4], const float *uv_quad[4],
         int glattrib)
 {
@@ -139,9 +138,7 @@ void GPU_render_text(
 
 
                /* color has been set */
-               if (mtexpoly->mode & TF_OBCOL)
-                       col = NULL;
-               else if (!col)
+               if (!col)
                        glColor3f(1.0f, 1.0f, 1.0f);
 
                gpuPushMatrix();
@@ -274,8 +271,7 @@ static struct GPUTextureState {
        int alphablend;
        float anisotropic;
        int gpu_mipmap;
-       MTexPoly *lasttface;
-} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, 0, -1, 1.0f, 0, NULL};
+} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, 0, -1, 1.0f, 0};
 
 /* Mipmap settings */
 
@@ -397,25 +393,6 @@ static unsigned int *gpu_get_image_bindcode(Image *ima, GLenum textarget)
        return bind;
 }
 
-void GPU_clear_tpage(bool force)
-{
-       if (GTS.lasttface == NULL && !force)
-               return;
-
-       GTS.lasttface = NULL;
-       GTS.curtile = 0;
-       GTS.curima = NULL;
-       GTS.curtilemode = 0;
-       GTS.curtileXRep = 0;
-       GTS.curtileYRep = 0;
-       GTS.alphablend = -1;
-
-       glDisable(GL_BLEND);
-       glDisable(GL_TEXTURE_GEN_S);
-       glDisable(GL_TEXTURE_GEN_T);
-       glDisable(GL_ALPHA_TEST);
-}
-
 static void gpu_set_alpha_blend(GPUBlendMode alphablend)
 {
        if (alphablend == GPU_BLEND_SOLID) {
@@ -448,33 +425,6 @@ static void gpu_set_alpha_blend(GPUBlendMode alphablend)
        }
 }
 
-static void gpu_verify_alpha_blend(int alphablend)
-{
-       /* verify alpha blending modes */
-       if (GTS.alphablend == alphablend)
-               return;
-
-       gpu_set_alpha_blend(alphablend);
-       GTS.alphablend = alphablend;
-}
-
-static void gpu_verify_reflection(Image *ima)
-{
-       if (ima && (ima->flag & IMA_REFLECT)) {
-               /* enable reflection mapping */
-               glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
-               glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
-
-               glEnable(GL_TEXTURE_GEN_S);
-               glEnable(GL_TEXTURE_GEN_T);
-       }
-       else {
-               /* disable reflection mapping */
-               glDisable(GL_TEXTURE_GEN_S);
-               glDisable(GL_TEXTURE_GEN_T);
-       }
-}
-
 typedef struct VerifyThreadData {
        ImBuf *ibuf;
        float *srgb_frect;
@@ -1016,63 +966,6 @@ void GPU_create_gl_tex_compressed(
        }
 #endif
 }
-static void gpu_verify_repeat(Image *ima)
-{
-       /* set either clamp or repeat in X/Y */
-       if (ima->tpageflag & IMA_CLAMP_U)
-               glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-       else
-               glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
-
-       if (ima->tpageflag & IMA_CLAMP_V)
-               glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
-       else
-               glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
-}
-
-int GPU_set_tpage(MTexPoly *mtexpoly, int mipmap, int alphablend)
-{
-       /* check if we need to clear the state */
-       if (mtexpoly == NULL) {
-               GPU_clear_tpage(false);
-               return 0;
-       }
-
-       /* XXX, 2.8 removes texface */
-#if 0
-       Image *ima = mtexpoly->tpage;
-#else
-       Image *ima = NULL;
-#endif
-       GTS.lasttface = mtexpoly;
-
-       gpu_verify_alpha_blend(alphablend);
-       gpu_verify_reflection(ima);
-
-       if (GPU_verify_image(ima, NULL, GL_TEXTURE_2D, mtexpoly->tile, 1, mipmap, false)) {
-               GTS.curtile = GTS.tile;
-               GTS.curima = GTS.ima;
-               GTS.curtilemode = GTS.tilemode;
-               GTS.curtileXRep = GTS.tileXRep;
-               GTS.curtileYRep = GTS.tileYRep;
-       }
-       else {
-               GTS.curtile = 0;
-               GTS.curima = NULL;
-               GTS.curtilemode = 0;
-               GTS.curtileXRep = 0;
-               GTS.curtileYRep = 0;
-
-               return 0;
-       }
-
-       gpu_verify_repeat(ima);
-
-       /* Did this get lost in the image recode? */
-       /* BKE_image_tag_time(ima);*/
-
-       return 1;
-}
 
 /* these two functions are called on entering and exiting texture paint mode,
  * temporary disabling/enabling mipmapping on all images for quick texture
index 5f204b82f043c4d4d15fba0b4921b97a148abe02..11a52649bf32934c8881b7d6c7895b813b382a16 100644 (file)
@@ -188,19 +188,9 @@ typedef struct MVertTri {
 
 
 typedef struct MTexPoly {
-       char flag, transp;
-       short mode, tile, pad;
+       void *pad;
 } MTexPoly;
 
-/* can copy from/to MTexPoly/MTFace */
-#define ME_MTEXFACE_CPY(dst, src)   \
-{                                   \
-       (dst)->flag   = (src)->flag;    \
-       (dst)->transp = (src)->transp;  \
-       (dst)->mode   = (src)->mode;    \
-       (dst)->tile   = (src)->tile;    \
-} (void)0
-
 typedef struct MLoopUV {
        float uv[2];
        int flag;
@@ -254,8 +244,6 @@ typedef struct MSelect {
 /*tessellation uv face data*/
 typedef struct MTFace {
        float uv[4][2];
-       char flag, transp;
-       short mode, tile, unwrap;
 } MTFace;
 
 /*Custom Data Properties*/
@@ -460,58 +448,4 @@ enum {
        ME_FSEL = 2,
 };
 
-/* mtface->flag */
-enum {
-       // TF_SELECT = (1 << 0),  /* use MFace hide flag (after 2.43), should be able to reuse after 2.44 */
-       // TF_ACTIVE = (1 << 1),  /* deprecated! */
-       TF_SEL1   = (1 << 2),
-       TF_SEL2   = (1 << 3),
-       TF_SEL3   = (1 << 4),
-       TF_SEL4   = (1 << 5),
-};
-
-/* mtface->mode */
-enum {
-       TF_DYNAMIC    = (1 << 0),
-       TF_ALPHASORT  = (1 << 1),
-       TF_TEX        = (1 << 2),
-       TF_SHAREDVERT = (1 << 3),
-       TF_LIGHT      = (1 << 4),
-
-       TF_CONVERTED  = (1 << 5),  /* tface converted to material */
-
-       TF_SHAREDCOL  = (1 << 6),
-       // TF_TILES      = (1 << 7),  /* deprecated */
-       TF_BILLBOARD  = (1 << 8),
-       TF_TWOSIDE    = (1 << 9),
-       TF_INVISIBLE  = (1 << 10),
-
-       TF_OBCOL      = (1 << 11),
-       TF_BILLBOARD2 = (1 << 12),  /* with Z axis constraint */
-       TF_SHADOW     = (1 << 13),
-       TF_BMFONT     = (1 << 14),
-};
-
-/* mtface->transp, values 1-4 are used as flags in the GL, WARNING, TF_SUB cant work with this */
-enum {
-       TF_SOLID = 0,
-       TF_ADD   = (1 << 0),
-       TF_ALPHA = (1 << 1),
-       TF_CLIP  = (1 << 2),  /* clipmap alpha/binary alpha all or nothing! */
-
-       TF_SUB   = 3,  /* sub is not available in the user interface anymore */
-};
-
-/* mtface->unwrap */
-enum {
-       TF_DEPRECATED1 = (1 << 0),
-       TF_DEPRECATED2 = (1 << 1),
-       TF_DEPRECATED3 = (1 << 2),
-       TF_DEPRECATED4 = (1 << 3),
-       TF_PIN1        = (1 << 4),
-       TF_PIN2        = (1 << 5),
-       TF_PIN3        = (1 << 6),
-       TF_PIN4        = (1 << 7),
-};
-
 #endif  /* __DNA_MESHDATA_TYPES_H__ */
index 96da3a77dee672abe51a0fe760236d99204eb8c9..49600158ac8d929157e4621e620254fc5969bc61 100644 (file)
@@ -942,7 +942,7 @@ typedef enum eSpaceImage_Sticky {
 /* SpaceImage->flag */
 typedef enum eSpaceImage_Flag {
 /*     SI_BE_SQUARE          = (1 << 0), */  /* deprecated */
-       SI_EDITTILE           = (1 << 1),     /* XXX - not used but should be? */
+/*     SI_EDITTILE           = (1 << 1), */  /* deprecated */
        SI_CLIP_UV            = (1 << 2),
 /*     SI_DRAWTOOL           = (1 << 3), */  /* deprecated */
        SI_NO_DRAWFACES       = (1 << 4),
index 88a5944a09d6d48443d4d6ca888e0824eabe7f1d..a4b42d6113a22f56b67f10920ef4b53490923b12 100644 (file)
@@ -2412,18 +2412,6 @@ static void rna_def_mtexpoly(BlenderRNA *brna)
        RNA_def_struct_ui_icon(srna, ICON_FACESEL_HLT);
 
 #if 0 /* moved to MeshUVLoopLayer */
-       prop = RNA_def_property(srna, "select_uv", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flag", TF_SEL1);
-       RNA_def_property_array(prop, 4);
-       RNA_def_property_ui_text(prop, "UV Selected", "");
-       RNA_def_property_update(prop, 0, "rna_Mesh_update_select");
-
-       prop = RNA_def_property(srna, "pin_uv", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "unwrap", TF_PIN1);
-       RNA_def_property_array(prop, 4);
-       RNA_def_property_ui_text(prop, "UV Pinned", "");
-       RNA_def_property_update(prop, 0, "rna_Mesh_update_select");
-
        prop = RNA_def_property(srna, "uv_raw", PROP_FLOAT, PROP_NONE);
        RNA_def_property_multi_array(prop, 2, uv_dim);
        RNA_def_property_float_sdna(prop, NULL, "uv");
index 10e174415e55eec5840556d395efe0025ef50aed..247d12aefcb9d5d817d3460ef6058ce379394f48 100644 (file)
@@ -132,7 +132,6 @@ static DerivedMesh *uvprojectModifier_do(UVProjectModifierData *umd,
 {
        float (*coords)[3], (*co)[3];
        MLoopUV *mloop_uv;
-       MTexPoly *mtexpoly, *mt = NULL;
        int i, numVerts, numPolys, numLoops;
        Image *image = umd->image;
        MPoly *mpoly, *mp;
@@ -221,10 +220,6 @@ static DerivedMesh *uvprojectModifier_do(UVProjectModifierData *umd,
        mloop_uv = CustomData_duplicate_referenced_layer_named(&dm->loopData,
                                                               CD_MLOOPUV, uvname, numLoops);
 
-       /* can be NULL */
-       mt = mtexpoly = CustomData_duplicate_referenced_layer_named(&dm->polyData,
-                                                                   CD_MTEXPOLY, uvname, numPolys);
-
        numVerts = dm->getNumVerts(dm);
 
        coords = MEM_mallocN(sizeof(*coords) * numVerts,
@@ -249,8 +244,8 @@ static DerivedMesh *uvprojectModifier_do(UVProjectModifierData *umd,
        }
 
        /* apply coords as UVs, and apply image if tfaces are new */
-       for (i = 0, mp = mpoly; i < numPolys; ++i, ++mp, ++mt) {
-               if (!image || (mtexpoly == NULL || (mp->mat_nr < ob->totcol ? ob_image_array[mp->mat_nr] : NULL) == image)) {
+       for (i = 0, mp = mpoly; i < numPolys; ++i, ++mp) {
+               if (!image || (mp->mat_nr < ob->totcol ? ob_image_array[mp->mat_nr] : NULL) == image) {
                        if (num_projectors == 1) {
                                if (projectors[0].uci) {
                                        unsigned int fidx = mp->totloop - 1;
index d00fea88f9e64fafbece37b59667e2750b9ff9a1..4c0355ef604702ae4ac7b5d19f3e7dbaf9d2d73c 100644 (file)
@@ -80,7 +80,6 @@ typedef struct {
        MLoop *mloop;
        MLoopUV *mloopuv;
        const MLoopTri *mlooptri;
-       MTexPoly *mtpoly;
        float *pvtangent;
        const float *precomputed_normals;
        int w, h;
@@ -451,7 +450,6 @@ static void do_multires_bake(MultiresBakeRender *bkr, Image *ima, bool require_t
                MPoly *mpoly = dm->getPolyArray(dm);
                MLoop *mloop = dm->getLoopArray(dm);
                MLoopUV *mloopuv = dm->getLoopDataArray(dm, CD_MLOOPUV);
-               MTexPoly *mtpoly = dm->getPolyDataArray(dm, CD_MTEXPOLY);
                const float *precomputed_normals = dm->getPolyDataArray(dm, CD_NORMAL);
                float *pvtangent = NULL;
 
@@ -495,7 +493,6 @@ static void do_multires_bake(MultiresBakeRender *bkr, Image *ima, bool require_t
                        handle->data.mvert = mvert;
                        handle->data.mloopuv = mloopuv;
                        handle->data.mlooptri = mlooptri;
-                       handle->data.mtpoly = mtpoly;
                        handle->data.mloop = mloop;
                        handle->data.pvtangent = pvtangent;
                        handle->data.precomputed_normals = precomputed_normals;  /* don't strictly need this */
index 68939d6ac2150e98b269bd188e4b111f17758e67..6667e6a44c29411f50fd42b98917f96482c33765 100644 (file)
@@ -834,7 +834,7 @@ static bool ConvertMaterial(
        /* No material, what to do? let's see what is in the UV and set the material accordingly
         * light and visible is always on */
        if (validface) {
-               material->tile = tface->tile;
+               /* nop */
        }
        else {
                // nothing at all
@@ -873,13 +873,6 @@ static bool ConvertMaterial(
        if (validmat) {
                material->matname =(mat->id.name);
        }
-
-       if (tface) {
-               ME_MTEXFACE_CPY(&material->mtexpoly, tface);
-       }
-       else {
-               memset(&material->mtexpoly, 0, sizeof(material->mtexpoly));
-       }
        material->material = mat;
        return true;
 }
index 4f707e6267f9493deb79a28335b935881286baaa..40384b43054acd863f00fb14cd1e9340f96c3c30 100644 (file)
@@ -69,7 +69,6 @@ void BL_Material::Initialize()
        alpha = 1.f;
        emit = 0.f;
        material = 0;
-       memset(&mtexpoly, 0, sizeof(mtexpoly));
        materialindex = 0;
        amb=0.5f;
        num_enabled = 0;
index 9207a41f56ded12aebc8023035406b3d02e712f4..710c02f4871d821e4e54bf45ed978e4c20569251 100644 (file)
@@ -84,7 +84,6 @@ public:
 
 
        Material*                       material;
-       MTexPoly                        mtexpoly; /* copy of the derived meshes tface */
        Image*                          img[MAXTEX];
        EnvMap*                         cubemap[MAXTEX];
 
index 0aa17c593377a464845ac5098ca3781f931edfbb..98d27ef3685296fde6cd7befe077d60b755d8ec9 100644 (file)
@@ -160,12 +160,6 @@ KX_BlenderMaterial::~KX_BlenderMaterial()
                OnExit();
 }
 
-MTexPoly *KX_BlenderMaterial::GetMTexPoly() const
-{
-       // fonts on polys
-       return &mMaterial->mtexpoly;
-}
-
 unsigned int* KX_BlenderMaterial::GetMCol() const
 {
        // fonts on polys
@@ -290,11 +284,6 @@ void KX_BlenderMaterial::OnExit()
                mTextures[i].DeleteTex();
                mTextures[i].DisableUnit();
        }
-
-       /* used to call with 'mMaterial->tface' but this can be a freed array,
-        * see: [#30493], so just call with NULL, this is best since it clears
-        * the 'lastface' pointer in GPU too - campbell */
-       GPU_set_tpage(NULL, 1, mMaterial->alphablend);
 }
 
 
@@ -310,7 +299,7 @@ void KX_BlenderMaterial::setShaderData( bool enable, RAS_IRasterizer *ras)
                        mLastShader = NULL;
                }
 
-               ras->SetAlphaBlend(TF_SOLID);
+               ras->SetAlphaBlend(GPU_BLEND_SOLID);
                BL_Texture::DisableAllTextures();
                return;
        }
@@ -334,7 +323,7 @@ void KX_BlenderMaterial::setShaderData( bool enable, RAS_IRasterizer *ras)
                ras->SetAlphaBlend(mMaterial->alphablend);
        }
        else {
-               ras->SetAlphaBlend(TF_SOLID);
+               ras->SetAlphaBlend(GPU_BLEND_SOLID);
                ras->SetAlphaBlend(-1); // indicates custom mode
 
                // tested to be valid enums
@@ -346,7 +335,7 @@ void KX_BlenderMaterial::setShaderData( bool enable, RAS_IRasterizer *ras)
 void KX_BlenderMaterial::setBlenderShaderData( bool enable, RAS_IRasterizer *ras)
 {
        if ( !enable || !mBlenderShader->Ok() ) {
-               ras->SetAlphaBlend(TF_SOLID);
+               ras->SetAlphaBlend(GPU_BLEND_SOLID);
 
                // frame cleanup.
                if (mLastBlenderShader) {
@@ -377,7 +366,7 @@ void KX_BlenderMaterial::setTexData( bool enable, RAS_IRasterizer *ras)
        BL_Texture::DisableAllTextures();
 
        if ( !enable ) {
-               ras->SetAlphaBlend(TF_SOLID);
+               ras->SetAlphaBlend(GPU_BLEND_SOLID);
                return;
        }
 
@@ -420,7 +409,7 @@ void KX_BlenderMaterial::setTexData( bool enable, RAS_IRasterizer *ras)
                ras->SetAlphaBlend(mMaterial->alphablend);
        }
        else {
-               ras->SetAlphaBlend(TF_SOLID);
+               ras->SetAlphaBlend(GPU_BLEND_SOLID);
                ras->SetAlphaBlend(-1); // indicates custom mode
 
                glEnable(GL_BLEND);
index a3d10c0a89d5b0abc0015f84cb878ea8a629d8cf..c562ee0c5835ce98502de42669058e86032799e8 100644 (file)
@@ -84,7 +84,6 @@ public:
 
        Material* GetBlenderMaterial() const;
        Image* GetBlenderImage() const;
-       MTexPoly *GetMTexPoly() const;
        unsigned int* GetMCol() const;
        BL_Texture * getTex (unsigned int idx) { 
                return (idx < MAXTEX) ? mTextures + idx : NULL; 
index c79e1c23ef6c84425e34ed751b2129305b96aed3..b3cee9448807e5e699a4503d29c3c8c4507c5e4c 100644 (file)
@@ -2234,7 +2234,9 @@ bool CcdShapeConstructionInfo::UpdateMesh(class KX_GameObject *gameobj, class RA
                        std::vector<int> vert_remap_array(numverts, 0);
 
                        for (mf = mface, tf = tface, i = 0; i < numpolys; mf++, tf++, i++) {
-                               if (tf->mode & TF_DYNAMIC) {
+                               // 2.8x TODO: use GEMAT_NOPHYSICS.
+                               // if (tf->mode & TF_DYNAMIC)
+                               {
                                        int flen;
 
                                        if (mf->v4) {
@@ -2271,7 +2273,9 @@ bool CcdShapeConstructionInfo::UpdateMesh(class KX_GameObject *gameobj, class RA
                        int *poly_index_pt = &m_polygonIndexArray[0];
 
                        for (mf = mface, tf = tface, i = 0; i < numpolys; mf++, tf++, i++) {
-                               if (tf->mode & TF_DYNAMIC) {
+                               // 2.8x TODO: use GEMAT_NOPHYSICS.
+                               // if (tf->mode & TF_DYNAMIC)
+                               {
                                        int origi = index_mf_to_mpoly ? DM_origindex_mface_mpoly(index_mf_to_mpoly, index_mp_to_orig, i) : i;
 
                                        if (mf->v4) {
index 2a736aa7deba6adfe47f01a6095899462ec68398..1d22d2debf99e6f13c39f9502449f3ba13a0bb44 100644 (file)
@@ -233,10 +233,6 @@ Image *RAS_IPolyMaterial::GetBlenderImage() const
 {
        return NULL;
 }
-MTexPoly *RAS_IPolyMaterial::GetMTexPoly() const
-{
-       return NULL;
-}
 
 unsigned int *RAS_IPolyMaterial::GetMCol() const
 {
index a34f7a9b3900c22c3f81aa9af8571a3fa6abd68a..7023d305510a8cbb5d9abd9b7fc5f7d5d8cdd0a0 100644 (file)
@@ -41,7 +41,6 @@
 #endif
 
 class RAS_IRasterizer;
-struct MTexPoly;
 struct Material;
 struct Image;
 struct Scene;
@@ -167,7 +166,6 @@ public:
 
        virtual Material*   GetBlenderMaterial() const;
        virtual Image*      GetBlenderImage() const;
-       virtual MTexPoly*       GetMTexPoly() const;
        virtual unsigned int* GetMCol() const;
        virtual Scene*          GetBlenderScene() const;
        virtual void            ReleaseMaterial();
index cac804ed22b5d14c3471dc7445db6c40ae67b52e..80c399fb256bec4536f2354bad5341a0458fefcf 100644 (file)
@@ -711,7 +711,7 @@ void RAS_OpenGLRasterizer::IndexPrimitives_3DText(RAS_MeshSlot& ms,
                                                        glattrib = unit;
 
                                GPU_render_text(
-                                       polymat->GetMTexPoly(), polymat->GetDrawingMode(), mytext, mytext.Length(), polymat->GetMCol(),
+                                       polymat->GetDrawingMode(), mytext, mytext.Length(), polymat->GetMCol(),
                                        v_ptr, uv_ptr, glattrib);
 
                                ClearCachingInfo();
@@ -782,34 +782,6 @@ static int CheckMaterialDM(int matnr, void *attribs)
        return 1;
 }
 
-static DMDrawOption CheckTexDM(MTexPoly *mtexpoly, const bool has_mcol, int matnr)
-{
-
-       // index is the original face index, retrieve the polygon
-       Material *bl_material = current_polymat->GetBlenderMaterial();
-       if (matnr == current_blmat_nr &&
-               (mtexpoly == NULL || (bl_material ? bl_material->edit_image : NULL) == current_image)) {
-               // must handle color.
-               if (current_wireframe)
-                       return DM_DRAW_OPTION_NO_MCOL;
-               if (current_ms->m_bObjectColor) {
-                       MT_Vector4& rgba = current_ms->m_RGBAcolor;
-                       glColor4d(rgba[0], rgba[1], rgba[2], rgba[3]);
-                       // don't use mcol
-                       return DM_DRAW_OPTION_NO_MCOL;
-               }
-               if (!has_mcol) {
-                       // we have to set the color from the material
-                       unsigned char rgba[4];
-                       current_polymat->GetMaterialRGBAColor(rgba);
-                       glColor4ubv((const GLubyte *)rgba);
-                       return DM_DRAW_OPTION_NORMAL;
-               }
-               return DM_DRAW_OPTION_NORMAL;
-       }
-       return DM_DRAW_OPTION_SKIP;
-}
-
 void RAS_OpenGLRasterizer::DrawDerivedMesh(class RAS_MeshSlot &ms)
 {
        // mesh data is in derived mesh
@@ -826,7 +798,10 @@ void RAS_OpenGLRasterizer::DrawDerivedMesh(class RAS_MeshSlot &ms)
        else
                this->SetCullFace(false);
 
-       if (current_polymat->GetFlag() & RAS_BLENDERGLSL) {
+#if 0
+       if (current_polymat->GetFlag() & RAS_BLENDERGLSL)
+#endif
+       {
                // GetMaterialIndex return the original mface material index,
                // increment by 1 to match what derived mesh is doing
                current_blmat_nr = current_polymat->GetMaterialIndex()+1;
@@ -841,11 +816,6 @@ void RAS_OpenGLRasterizer::DrawDerivedMesh(class RAS_MeshSlot &ms)
                int current_blend_mode = GPU_get_material_alpha_blend();
                ms.m_pDerivedMesh->drawFacesGLSL(ms.m_pDerivedMesh, CheckMaterialDM);
                GPU_set_material_alpha_blend(current_blend_mode);
-       } else {
-               //ms.m_pDerivedMesh->drawMappedFacesTex(ms.m_pDerivedMesh, CheckTexfaceDM, mcol);
-               current_blmat_nr = current_polymat->GetMaterialIndex();
-               current_image = current_polymat->GetBlenderImage();
-               ms.m_pDerivedMesh->drawFacesTex(ms.m_pDerivedMesh, CheckTexDM, NULL, NULL, DM_DRAW_USE_ACTIVE_UV);
        }
 }