[Dev] Thoughts on deprecating Multitexture Materials?

The Multitexture material code is mostly unmaintained these days, and it is getting in the way of some serious cleanup of the BGE’s graphics code. It would be nice to streamline the BGE in this area, and the first step for that would be to get rid of Multitexture materials. That being said, just dropping Multitexture would most likely upset a lot of people. Instead, what are people’s thoughts on deprecating Multitexture materials (mostly, this means no more bug fixing/feature support for Multitexture, except for maybe regressions)? Multitexture could then be removed at a later release (possibly 2.80).

I would be ok with deprecating, and even removing multitexture materials. That said, I would want to make sure we still have the option to have textured solids outside of the game engine. ( when not in textured mode)
I haven’t looked at the code myself, but my guess would be this option is separate from the multitexture/glsl modes, in which case make way for glsl only :slight_smile:

I think a lot of people may not mind the complete removal of multitexture materials as long as these conditions are met.

1). Full GLSL support for material and lamp F-curves (not just the per-object color).
2). A GLSL-based interpretation of texFace assignments (perhaps via a new texture type just for the BGE).

If those are done, you might have at least half of the remaining multitexture users jump onboard the GLSL wagon.

+1 for deprecating multitexture.

If it’s holding development back, then it’s time to go. If someone strictly requires multitexture mode they can use one of the older versions.

Another gauge might be - how many other active game engines have multitexture mode?

I’m for getting rid of it, to me the multitexture mode is just a waste of panel space. I have never used multitexture for a game so I don’t really even know the appeal. Can’t the people who like it just use shadeless textures in glsl instead?

+1 I am for removal, if they need it just get a diff version of blender,

I use multitexture mode pretty regularly when I want to edit a number of different textures on a shadeless model without having to change or even assign a material, but that’s a pretty specific situation and it wouldn’t add a whole lot of time or trouble to my workflow if multitexture were gone.

Some sort of performance-conscious vertex shading mode in GLSL might be a useful option, for people that want to target very low-end computers. That said, I don’t know how much demand there realistically is for that sort of thing.

I don’t mind Multitexture to be removed. Better remove it to avoid development issues.

I usually work with Multitexture for simplicity, but my workflow wouldn’t change too much if it were removed. I have no problem with it going away.

+1 for removal, we can always go back to previous versions if needed.

If this was a vote then the MT would be removed.

I exclusively use MultiTexture mode and have 1,803 textures in the project. Having said that, I’m on 2.59 and have no plans to change any time soon anyway.

It would be nice if you could automatically update the old MultiTexture materials should you decide to remove them.

I strongly disagree to specialize the BGE to certain hardware. The strength of the BGE is that is a general purpose multi-platform game engine. People cry for more supported hardware/platforms rather than less.

“is getting in the way some serious cleanup”
Why is it that way? This sounds more like there is a unsatisfying design of the code. I think a consolidation of the code is needed. And yes it is a lot of work without obvious eye-candy added.

Btw:
I do not have a joystick, lets remove the joystick support. (the same arguments hit the GLSL mode ;))

This is one tricky issue. On a modern day it would be easy to say YES, but when thinking a bit more it would lessen the support on that area. I can’t say yes or no at this point.

I think I’d be okay with it. On the one hand, it’s nice for lower-end computers, but on the other, if GLSL mode could be optimized further, then that’s a good thing. It’s not like it would even be useful for future mobile platforms, right?

I think more people (myself included), want more optimizations and a smoother experience across supported hardware rather than more supported hardware in general. If removing Multitexture materials can help to clean up the code base and make it easier to bug-fix and implement new features, then I’m for it.

Also, I think your last argument isn’t correct. It’s more like, “I have an old 640x480 screen resolution and I’m running Windows ME. I want the BGE to still be able to run here effectively.” At some point, older technology would have to be phased out. Similarly, at a certain point, Multitexture mode might have to be dropped, just like SingleTexture mode was. They can’t stick around indefinitely.

As a side-note, interestingly, the BGE seems to lock itself to a resolution equal to or above 320x240.

I would agree with that.

If multitexture gets removed, how would you do projection painting then? GLSL gives odd shading that prevents it to be of any use for projection painting. And isn’t really good at displaying graphics anyways. There is a big gap between what you see in Blender and what you see in Unity for example, no matter how hard you tweak at the lights. So first the GLSL would need a big fix.

Well i cant agree or disagree, because there are several Prerequisites for that step. I myself try to use the BGE for developing little model-games for educational purpose sometimes. Schools i visited have a wide range in their technical equipment, so i prefer the possible usage of Blender-Games on … Oldschool-PC’s.
But maybe there is no Problem to do it with GLSL? Please help to clarify under which Circumstances issues might happen. How about older Systems (system/hardwareissues?), how about Smartphones?

A Question-Set to all:
a) Which Systems are supported with Multitex where GLSL can’t run ?
b) Which Systems can only/better use GLSL?
c) What are Advantages of one Mode over the other?

Thats the Basis to decide what is needed.

I agree, technology should change at some point. But i prefer knowing about the Possibilities i will lose or gain :wink:
If there is a good Argument which refers to the A) Amount of Users or B) Amount of possibilities for Usage it should be considered.

There was a time, when i played an Onlinegame, when i talked with people from all over the world and i got to know that some of them had really old machines. Last year there was a person which had a PC with Win98. We shouldn’t think that our developement-System is representative for all people. If you want to make a fancy Game, of course you can demand some Prerequisites for the Games System - but if you have other Aims, you should analyse more careful.
My Point is, i dont want to lose a party which can support the BGE-Future. Blender is great for educational purposes and i dont want to lose the support of people who use it that way.

I dont wan’t to tell you, we need to keep Multitexture. Maybe there is nearly no Advantage? But maybe there is.
If there is a knowledgable Persons around, please help us understand the framework-conditions of the Problem
to find a good (well founded) decision.

Wouldn’t the removal of Multitexture mode affect all Blender users by the way? Not just game engine users?
3D viewport by default is on Multitexture mode no?

No(that is what i think). The 3d viewrport have the shading mode that selected in the properties tab, blender by default start with multitexture mode, is it is delete, simply, the developers just change the default shading mode that start blender.

I agree with removing the multi texture mode, I’ve never used it, and the glsl have a good perfomance in low pc like me.