[Bf-committers] my GSOC project idea

shuvro sarker shuvro05 at gmail.com
Sat Mar 27 13:10:01 CET 2010


    Message: 2
    Date: Fri, 26 Mar 2010 21:10:57 -0700
    From: Mitchell Stokes <mogurijin at gmail.com>
    Subject: Re: [Bf-committers] my GSOC project idea
    To: bf-blender developers <bf-committers at blender.org>
    Message-ID:
           <9e1569591003262110j697ff1d7v3bc1798b8531536f at mail.gmail.com>
    Content-Type: text/plain; charset=ISO-8859-1

    > *Idea 1 : Improvement of Game Engine Python API*
    >
    > 1.providing syntaxes similar to ?these -
    >
    > ? ?a. *scene.meshes["meshName"]*
    >
    > ? ?b. *meshI.material.textures["myTexVar"] = loadedTexture ?*
    >
    > ? ?this is for *KX_MeshProxy* class.Like textures the options for
setting
    > these properties
    > ? ?can also be included.
    >
    >
    > ? - ? ? The Blender material.
    > ? - ? ? The Tile properties
    > ? - ? ? The face properties - (From the "Texture Face" panel)
    > ? - ? ? Transparency & z sorting
    > ? - ? ? Light layer
    > ? - ? ? Polygon shape (triangle/quad)
    >
    >
    > ? ?so In general the syntax may be
    > ? ?mesh.material.propertyName["Var"] = propertyValue
    >
    > ? ?c. * scene.object_instance("name") ?*

    I don't quite get what you're trying to show with the examples. Maybe
    an example of what the BGE is currently doing and how you want to
    change it?


This type of property setting functions  is not available in KX_MeshProxy
class now.
So,I have proposed to modify existing system so that  the above mentioned
syntax become available in python api.


    > 2. a collisionList may be useful.
    > collisionList = references of those objects colliding with the player

    That definitely could be useful.

    > 3.Removing some limitations:
    >
    >
    > ? - ? ?access scales for the orthographic camera
    > ? - ? ?turn slow parent on and off
    > ? - ? ?test getVertex() and solve if there is some problems with it.
    > ? - ? ?adding play/pause sound actuator

    Isn't there already an actuator for sound? There isn't a Python API
    for sound yet though. :)

yes,I am talking about the python api here.

    > 4.Some genereric methods for path finding/searching/other AI:
    >
    > there should be a standard for a path.It be a graph of vertices (edges
    > between them).
    > So the generic methods may be -
    >
    >
    > ? - ?* ?graph = makeGraph(pathMesh)*
    > ? - ?* ?graph.node[index].adjacentNodes()* ? // The function will
    > ? precalculate the adjacency lists of nodes and return them during
function
    > ? call
    > ? - ?* ?graph.node[index].cost(destNode)* ? ?// This will return the
cost
    > ? between index node and dest node.they can be calculate by the
distances
    > ? between the nodes.
    > ? - ? There may be support for some built in heuristics function also.

    This could be handy. However, you have to make sure you don't clutter
things up.

    > 5.developing an easy way to access external programs(e.g. Browser,irc
chat
    > app)

    I don't see a huge need for this, and it can probably already be done
    with things like pipes and sockets.

    > *Idea 2 : Improved DDS support for Blender and BGE*
    >
    > BGE currently support dds.But not really takes any advantage of its
format.
    > it has some problems also (e.g.
    >
https://projects.blender.org/tracker/index.php?func=detail&aid=18653&group_id=9&atid=306
).
    >
    > So the scope of the project may be -
    >
    >
    > ? 1. Fix ?bug of current dds support
    > ? 2. make BGE support for proper dds compression.
    > ? 3. UV/Image Editor operator to convert image as .DDS
    > ? 4. Option to convert internal textures to dds (at load time).
    >
    >
    >
    > There is a very tiny C library that can work with DDS and some of its
    > compression format.
    > It is named as SOIL library( http://lonesock.net/soil.html ).If this
library
    > seems promising
    > it can be a starting point for the project.

    Blender is already using a DDS library that supports DXT. In fact, I
    have a patch laying around to add compression support to the BGE (at
    least, I think it was working, I didn't have a program to monitor
    texture memory usage to be sure though). However, I ran into issues on
    the Blender side. I can give you what I have if you want to play with
    it. However, even without the patch, I don't think this would take
    more than a week or two (at most).


As far as I know there are many compression alogrithms available for this
compression.
DXT1,DXT3,DXT5,DXT5n,ATI1,ATI2,Alpha Exponent,Ycolg are among the popular
algorithms.
And there are many format to save also (like
RGB8,RGBA8,BGR8,ABGR8,R5G6B5,RGBA4 and many more).
Does your patch supports all this compression algo and formats listed ? If
it is,it is really great.
And according to my knowledge to implement all those I have to code with
opengl subsystem.So,IMO this should not be a project of one or two weeks.
May be I am wrong in this estimation.

And thanks for your reply.


    Cheers,
    Mitchell Stokes (Moguri)


Shuvro


More information about the Bf-committers mailing list