Topic: What's m_type in material
What's that. It's just an "int".
It should have some "enum" so one can guess what it is.
Last edited by 255 (2013-08-20 21:02:56)
You are not logged in. Please login or register.
What's that. It's just an "int".
It should have some "enum" so one can guess what it is.
Last edited by 255 (2013-08-20 21:02:56)
I wish I could at least look at the Behaviors functions and all, but the links don't work on the wiki. They are all red. I wonder if there the documentation has been made into a pdf or something.
I wish I could at least look at the Behaviors functions and all, but the links don't work on the wiki. They are all red. I wonder if there the documentation has been made into a pdf or something.
No Im afraid the red just means there isn't any at the moment.
Doxygen could be used , but that would require ( FAIK) someone to go through api and create the doxygen structure before running it, to generate the docs.
Cheers
hs
aout m_type in material :
it's an optional variable from the mesh format,
right now it's not used, a material is "standard" by default and "custom" is there is a shader attached (FX).
It cannot be made enum because it's use is not defined,
for example it could be useful if you write a custom renderer where you want different types of materials that are not controlled by shaders.
Thanks.
@Tutorial Doctor & heartseed
You can always register in the wiki and edit it yourself!
Doxygen could be used , but that would require ( FAIK) someone to go through api and create the doxygen structure before running it, to generate the docs.
Don't know if that's up to date, but: http://www.maratis3d.org/engine_docs/index.html
Last edited by 255 (2013-08-21 09:03:12)
Thanks.
@Tutorial Doctor & heartseed
You can always register in the wiki and edit it yourself!heartseed wrote:Doxygen could be used , but that would require ( FAIK) someone to go through api and create the doxygen structure before running it, to generate the docs.
Don't know if that's up to date, but: http://www.maratis3d.org/engine_docs/index.html
THe url you quoted has no docs, just api structure of some kind, which 'atm' anyway mostly as a non programmerof c++, it makes little sense, but the point is, its not in human readable terms to someone that needs guidance as relates to 'what' a certain api function actually does and how to use it.
I don't , yet, know enough about maratis api to edit anything. I'ts hard to do something when docs are lacking so much
I am here because I think maratis has promise, but lacking docs make it terribly hard to do much unless you are a polished experienced c++ programmer, given lua docs are mostly nonexistant as well.
Cheers
hs
Thanks for that link heartseed! I don't know c++, but I want to just see how it is set up.
Thanks for that link heartseed! I don't know c++, but I want to just see how it is set up.
It's me who has provided the link. LOL ^^
Actually I've only linked that because heartseed named doxygen. If you want to look at the source code then you should bookmark this:
http://code.google.com/p/maratis/source
dev%2FMSDK
It's up to date and you can actually see the content of the .cpp files.
@heartseed
Sorry but if you don't know C++ you will have a hard time doing anything even if a documentation is provided.
For example, if you're not sure how pointers work, you couldn't use certain functions anyway. Unless the wiki is VERY verbose and contains A LOT of examples. But that would be too much work and IMHO not really necessary, because if you want to do complex games you are supposed to know C++ (in the case of Maratis) and programming in general.
I was considering (if I find the time and the will) to write something in the wiki so I think this discussion could be useful to understand which level of information/help people need.
But IMO if you (impersonal you) think you could do good things with Maratis without knowing C++ or having a good understanding of programming in general then you're wrong.
given lua docs are mostly nonexistant as well.
To me it seems that http://wiki.maratis3d.org/index.php?tit
tions_list is almost complete; some pages have also examples. All functions are mostly self-explanatory due to their name.
So IMO one should be able to develop with no big problems using scripts.
BTW the Maratis source code is so simple and clear that writing a wiki which tells you "the function getMaterial() is a function that gives you a pointer to a material" seems pretty useless to me. The "m_type" for which I've opened this topic is an exception for obvious reasons.
So, I'm asking, what do you/anael/committers think about this and what's the level of details/information/help/examples you expect from the wiki?
Last edited by 255 (2013-08-21 20:45:33)
That's good to see some discussion on this here,
it's not always easy to anticipate needs on usability and documentation, specially with few resources.
I'll give you some of my taught, but my view can be biased because I'm not a user as you are.
About C++ API :
A simple and clear source code can be better than a complex API documentation, like you said 255,
and I believe the API structure is clear.
What is needed in my opinion is a user documentation giving a GLOBAL VIEW of the engine SDK,
it could be provided by schemes, examples and specific areas documentation.
First probably with a focus on the most used parts like :
- handling scene data (cameras, lights, entities, physics)
- moving objects and entities properties
- the mesh structure
- game class and behaviors
Is a class by class doc of the engine more appropriate I don't think so, but maybe you think I'm wrong.
The other thing to take in account is that a complete class documentation can be very time consuming to write.
Oh. haha. Thanks 255! I guess you are using Maratis as much as I am haha.
I agree, the most important things are examples and tutorials.
Basically this http://wiki.maratis3d.org/index.php?title=User_manual is where more work should be put into.
Description of functions could be made for the most important ones (e.g., setActive, setPosition, addNewEntity), correlated with examples.
This way, from manuals/tutorials you can do: "for more info check "addNewEntity() page".
Last edited by 255 (2013-08-21 23:46:40)
Tutorial Doctor wrote:Thanks for that link heartseed! I don't know c++, but I want to just see how it is set up.
It's me who has provided the link. LOL ^^
Actually I've only linked that because heartseed named doxygen. If you want to look at the source code then you should bookmark this:
http://code.google.com/p/maratis/source dev%2FMSDK
It's up to date and you can actually see the content of the .cpp files.@heartseed
Sorry but if you don't know C++ you will have a hard time doing anything even if a documentation is provided.
For example, if you're not sure how pointers work, you couldn't use certain functions anyway. Unless the wiki is VERY verbose and contains A LOT of examples. But that would be too much work and IMHO not really necessary, because if you want to do complex games you are supposed to know C++ (in the case of Maratis) and programming in general.I was considering (if I find the time and the will) to write something in the wiki so I think this discussion could be useful to understand which level of information/help people need.
But IMO if you (impersonal you) think you could do good things with Maratis without knowing C++ or having a good understanding of programming in general then you're wrong.heartseed wrote:given lua docs are mostly nonexistant as well.
To me it seems that http://wiki.maratis3d.org/index.php?tit tions_list is almost complete; some pages have also examples. All functions are mostly self-explanatory due to their name.
So IMO one should be able to develop with no big problems using scripts.BTW the Maratis source code is so simple and clear that writing a wiki which tells you "the function getMaterial() is a function that gives you a pointer to a material" seems pretty useless to me. The "m_type" for which I've opened this topic is an exception for obvious reasons.
So, I'm asking, what do you/anael/committers think about this and what's the level of details/information/help/examples you expect from the wiki?
Almost complete is a VERY relative term, that we should be VERY careful to be clear about, and not throw words around that aren't 100% specific, as that does a horrible injustice to new people especially coming here trying to ascertain what is going on .
I"ts hardly almost complete, but that's beside the point, but yes it looks like somebody has been adding to it ? Im not asking anael to do all the heavy lifting, so maybe over time somebody will add more to the entire lua script api. Lua is incredibly easy compared to c++.
The example you used to chide me over 'not needing further examples' , was absolutely INSULTING to me. Was that on purpose I wonder , if so tha't s really unnecessary , and very immature. You should have known better!
So I"ll just ignore it, and point out to you that not everything in the c++ docs ARE obvious, at least to programmers learning the ropes, not to mention to the fact that many many engine tons of examples of using c++ code to 'get things done'. Just look around if you dont believe me. Again, Im n ot expecting anael to do ALL the heavy lifting, just stating facts that are inconvenient to some people maybe, or that too elite to realize not everyone is a 10 grad student in programming0
If you go here, : http://wiki.maratis3d.org/index.php?tit umentation , its adundantly clear, that almost NONE Of it is documented,,all blank pages. If you think its 'ok' for that to occur, then you aren't thinking of the average programmer coming here, looking for a 'ease' into game engines ( as lua at least provices, yes! I realize that), meaning learn as they go. Knowing where to start without such examples ( or enough OF them at least)/docs can be very grueling or impossible, therefore making your engine irrelevant to a large segment of hobbyists, etc.
Just sayin...;)
I was tempted here by the lovely editor, but it takes more than that in general to make progress of any consequence Im not the ONLY one whom has stated this severe lacking docs on both c++ and lua side, and those if I recall right, were people who CAN already code and likely very well.
cheers
hs
The example you used to chide me over 'not needing further examples' , was absolutely INSULTING to me. Was that on purpose I wonder , if so tha't s really unnecessary , and very immature. You should have known better!
Was not meant to insult. As an hobbist programmer I find most functions of maratis self-explanatory, that's all. If I'm not able to do something in Maratis it's because it's very likely that I can't do that in other engines as well.
This is the point I was making. But this doesn't mean that we can't make extended examples of course. That will be useful to less experienced programmers.
If you go here, : http://wiki.maratis3d.org/index.php?tit umentation , its adundantly clear, that almost NONE Of it is documented,,all blank pages.
Yes, but as anael was saying maybe it's better to put down some examples (e.g "how to create a free camera") instead of just writing down all the API functions which will be a bit reduntant. "setPosition() sets the position of the object" is pretty stupid, while "to make a free camera you could do that and that" may be more valuable as a help resource. This is the entire point I was trying to make, sorry if it sounded like an insult. I was just trying to understand with the help of you users what was the best way to make the wiki.
Have a look at this first tries of mine and see if going on with this direction could be of any help:
http://wiki.maratis3d.org/index.php?title=MObject3d
Notice the example code in "2.4 Position".
Free camera tutorial (maybe it's better to do things like this since the API will be A LOT of work and maybe less useful?):
http://wiki.maratis3d.org/index.php?tit
ree_camera
Last edited by 255 (2013-08-22 09:44:23)
I think The API needs to be documented for beginners, as I am new to Maratis, LUA, and C++ (I am now learning C++ because as heart seed noted, it seems everyone uses C++.
The main reason I say this is because the documentation of the functions on the wiki, however trivial it may be to post them, also give examples of how they would be used in a scenario.
For example, when I getAxis("MOUSE_X") am I getting the location of the mouse on the X axis?
But that could easily be interpreted differently.
If it were getLocation("MOUSE_X") it might be better, although one might get that mixed up with getPosition().
Also I use the wiki to see the parameters of the functions.
Even if it was clear that setPosition() sets a position, what would be the parameters it takes?
Between perhaps not interpreting the function of a function correctly, and not knowing the parameters the functions take, I'd be lost as to what is actually possible with Maratis. Harder to debug that way too.
(This is actually a present case. I'm trying to make a Character Selection menu, and I can't see the functions on the wiki)
Last edited by Tutorial Doctor (2013-08-22 16:15:05)
heartseed wrote:The example you used to chide me over 'not needing further examples' , was absolutely INSULTING to me. Was that on purpose I wonder , if so tha't s really unnecessary , and very immature. You should have known better!
Was not meant to insult. As an hobbist programmer I find most functions of maratis self-explanatory, that's all. If I'm not able to do something in Maratis it's because it's very likely that I can't do that in other engines as well.
This is the point I was making. But this doesn't mean that we can't make extended examples of course. That will be useful to less experienced programmers.heartseed wrote:If you go here, : http://wiki.maratis3d.org/index.php?tit umentation , its adundantly clear, that almost NONE Of it is documented,,all blank pages.
Yes, but as anael was saying maybe it's better to put down some examples (e.g "how to create a free camera") instead of just writing down all the API functions which will be a bit reduntant. "setPosition() sets the position of the object" is pretty stupid, while "to make a free camera you could do that and that" may be more valuable as a help resource. This is the entire point I was trying to make, sorry if it sounded like an insult. I was just trying to understand with the help of you users what was the best way to make the wiki.
Have a look at this first tries of mine and see if going on with this direction could be of any help:
http://wiki.maratis3d.org/index.php?title=MObject3d
Notice the example code in "2.4 Position".Free camera tutorial (maybe it's better to do things like this since the API will be A LOT of work and maybe less useful?):
http://wiki.maratis3d.org/index.php?tit ree_camera
==============================================
If you want to be taken 'seriously', why don't you avoid words like 'stupid' and possibly consider using words like ' unnecessary' or redundant. Does that make any sense to you ?
This isn't a contest to see who is the smartest coder, it's about having a engine worthy of all users, not just elite longtime c++ coders. I"ve seen engines that 'aspire' to just that, like irrrpg.sourceforge.net to name one at least. I know, I use it also , for some things. So i'ts not like no one has tried.
Also the unreal engine while hardly free or affordable ? ( that's arguable) has a new iOS engine that from what I"ve heard practically codes itself ( ok , humor matters!) which is another instance of a well written engine to help those with GREAT ideas, but not enough coder skills or the money to hire one.
cheers
hs/lee
Cheers
lee
I think The API needs to be documented for beginners, as I am new to Maratis, LUA, and C++ (I am now learning C++ because as heart seed noted, it seems everyone uses C++.
The main reason I say this is because the documentation of the functions on the wiki, however trivial it may be to post them, also give examples of how they would be used in a scenario.
For example, when I getAxis("MOUSE_X") am I getting the location of the mouse on the X axis?
But that could easily be interpreted differently.
If it were getLocation("MOUSE_X") it might be better, although one might get that mixed up with getPosition().
Also I use the wiki to see the parameters of the functions.
Even if it was clear that setPosition() sets a position, what would be the parameters it takes?
Between perhaps not interpreting the function of a function correctly, and not knowing the parameters the functions take, I'd be lost as to what is actually possible with Maratis. Harder to debug that way too.
(This is actually a present case. I'm trying to make a Character Selection menu, and I can't see the functions on the wiki)
Yes, these are all relevant issues.
I"ve seen people comment on lacking docs are some didn't come back so as incredibly useful and inspiring as maratis is , yes as we've all noted its something that needs addressed.
BTW, I wanted to reiterate that while I think your quick terrain example is completely worthy, and with a lot of time invested you could do some scripting , etc. to make something possibly even with commercial viability, the terrain I meant was the type you mke in L3TD or other similar programs, that allow you to create 'splatting' for say up to several textures.
I think this was addressed somewhere on the forums to do in blender possibly ? , but the trouble with that approach is then you alienate everyone else that uses some other 3d app, as sketchup in your case, and in mine possibly as Im considering heavily using it to grab terrain off the GE. I"ve actually done it once, but I've not had time ( busy summer) to bring it into Maratis. I doubt heavily that SE (sketchup) can splatt, and honestly that can create stunning worlds, and by worlds I mean say 4096x4096, which even something like CUBE can easily do.
I"ts n ot just huge worlds that I enjoy, I can easily enjoy much smaller worlds if done with some level of decent artistic integrity/story/scripting blah. BUT big worlds are quite common in engines and very needed by many developers/enthusiasts.
IRRPG can't splat, but it does allow for rather huge worlds with splatting done by 'height' given lowering/raising the terrain which is something huge to makeup for not allowing regular heigtmap based terrain( which has its own disadvantages too ). I guess you could do something similar in a 3d app but then you'd have to split it to get performant behavior inside maratis and the be careful when putting down objects to avoid the seams ? I've yet to go down that road from time constraints but its something I should try .
later
hs
We all agree that Maratis needs more documentation,
the question is, how can we do it and what do we do first.
We cannot follow the direction of unity or udk because it's impossible, and it's not the point,
they are financed by millions of dollars every years.
We need to go step by step with a priority for the most important features,
and it can only happen with the effort of multiple people, it's not a little task.
255 just added pages of documentation in the c++ part, when I have some time I do it too,
others do, that's the way, it will take time and contributors, that's all.
We all agree that Maratis needs more documentation,
the question is, how can we do it and what do we do first.We cannot follow the direction of unity or udk because it's impossible, and it's not the point,
they are financed by millions every years.We need to go step by step with a priority for the most important features,
and it can only happen with the effort of multiple people, it's not a little task.255 just added pages of documentation in the c++ part, when I have some time I do it too,
others do, that's the way, it will take time and contributors, that's all.
Thanks for replying anael. I will try to make a list of what I think to be the most important functions for making a game (at least on the lua side of things for now)
Tutorial Doctor wrote:I think The API needs to be documented for beginners, as I am new to Maratis, LUA, and C++ (I am now learning C++ because as heart seed noted, it seems everyone uses C++.
The main reason I say this is because the documentation of the functions on the wiki, however trivial it may be to post them, also give examples of how they would be used in a scenario.
For example, when I getAxis("MOUSE_X") am I getting the location of the mouse on the X axis?
But that could easily be interpreted differently.
If it were getLocation("MOUSE_X") it might be better, although one might get that mixed up with getPosition().
Also I use the wiki to see the parameters of the functions.
Even if it was clear that setPosition() sets a position, what would be the parameters it takes?
Between perhaps not interpreting the function of a function correctly, and not knowing the parameters the functions take, I'd be lost as to what is actually possible with Maratis. Harder to debug that way too.
(This is actually a present case. I'm trying to make a Character Selection menu, and I can't see the functions on the wiki)
Yes, these are all relevant issues.
I"ve seen people comment on lacking docs are some didn't come back so as incredibly useful and inspiring as maratis is , yes as we've all noted its something that needs addressed.
BTW, I wanted to reiterate that while I think your quick terrain example is completely worthy, and with a lot of time invested you could do some scripting , etc. to make something possibly even with commercial viability, the terrain I meant was the type you mke in L3TD or other similar programs, that allow you to create 'splatting' for say up to several textures.
I think this was addressed somewhere on the forums to do in blender possibly ? , but the trouble with that approach is then you alienate everyone else that uses some other 3d app, as sketchup in your case, and in mine possibly as Im considering heavily using it to grab terrain off the GE. I"ve actually done it once, but I've not had time ( busy summer) to bring it into Maratis. I doubt heavily that SE (sketchup) can splatt, and honestly that can create stunning worlds, and by worlds I mean say 4096x4096, which even something like CUBE can easily do.
I"ts n ot just huge worlds that I enjoy, I can easily enjoy much smaller worlds if done with some level of decent artistic integrity/story/scripting blah. BUT big worlds are quite common in engines and very needed by many developers/enthusiasts.
IRRPG can't splat, but it does allow for rather huge worlds with splatting done by 'height' given lowering/raising the terrain which is something huge to makeup for not allowing regular heigtmap based terrain( which has its own disadvantages too ). I guess you could do something similar in a 3d app but then you'd have to split it to get performant behavior inside maratis and the be careful when putting down objects to avoid the seams ? I've yet to go down that road from time constraints but its something I should try .
later
hs
I enjoy your comments heartseed! hehe
On L3TD:
I had to look up L3tD to see what they can do, as I haven't noticed them (And I have used a LOT of 3D software. Ever heard of Bryce?) haha. And to tell the truth, L3TD wasn't really impressive at all compared to what I am sure is possible in not only Blender but ANY 3D software that can make terrain and add multiple textures to it.
On "Splatting" hehe:
I never heard that term used, BUT I LIKES IT! hehe. You can splat in most 3d programs. Blender can splat as well. To get it into Maratis with the same look as in Blender or any other 3d program that can handle multiple textures, you would have to BAKE the textures into the mesh. I have successfully imported a house modeled in Sketchup, baked in Blender, and imported to a Maratis MESH. I also go the shadows I baked into the mesh. Light Mapping, as some call it is the best way to enhance the visuals in a Maratis game to give it that ''Game polish." (I actually found out that the SPONZA level actually uses a Sketchup 3D warehouse model with baked light maps) hehe.
On Sketchup:
My workflow is Sketchup > Blender(Or any other splatt ready 3d software) > Maratis
Sketchup can do basic texturing to get you started. Import it into Blender to do the detailed texturing. Bake them in Blender and then export to Maratis.
On High Quality:
I am sure that Maratis cannot handle a terrain that is 800,000 polygons (I tried. It crashed.) haha, but who does that in games anyhow?
Game companies always use TRICKS. When looking at my brother play the latest greatest graphically acclaimed game on his PS3, I saw that the people who made it just slapped a 2d texture on the ground covered it up with 2d planes that looked like plants, and added some random debris. And I was like HUH?
Also, they use NORMAL MAPS to simulate geometry. I need to do a test with that in Maratis. But even without normal maps, HEY, I can slap some texture on a plane (and believe me, that PS3 game's terrain was not 800,000 polygons. haha.
Conclusion:
I actually sorta like when resources are limited, because it helps you be more CREATIVE. I once tried to make a film using the SIMS PC game. I didn't have voice actors but I thought, ''Wait, I love Buster Keaton films, and they didn't use voice overs!"
A few shots, some text on a black screen, and some neat music made it work.
P.S. Have you heard of Sculptris? Sculptris allows you to paint multiple textures onto a 3d model like Zbrush. You can also use it for sculpting.
Last edited by Tutorial Doctor (2013-08-22 18:44:00)
This is actually a present case. I'm trying to make a Character Selection menu, and I can't see the functions on the wiki
What functions? Yours is a very specific task which is not meant to be implemented in the engine. It's something you have to code yourself; in the wiki you could find examples but not functions that does it automatically.
On L3TD:
I had to look up L3tD to see what they can do, as I haven't noticed them (And I have used a LOT of 3D software. Ever heard of Bryce?) haha. And to tell the truth, L3TD wasn't really impressive at all compared to what I am sure is possible in not only Blender but ANY 3D software that can make terrain and add multiple textures to it.
=========
Yes I've heard of Bryce, I h ave it, and it a major PITB to use; NO thanks ---:)
===========
On "Splatting" :
I never heard that term used, BUT I LIKE IT! You can splat in most 3d programs. Blender can splat as well. To get it into Maratis with the same look as in Blender or any other 3d program that can handle multiple textures, you would have to BAKE the textures into the mesh. I have successfully imported a house modeled in Sketchup, baked in Blender, and imported to a Maratis MESH. I also go the shadows I baked into the mesh. Light Mapping, as some call it is the best way to enhance the visuals in a Maratis game to give it that ''Game polish." (I actually found out that the SPONZA level actually uses a Sketchup 3D warehouse model with baked light maps) . Btw. L3td is a app designedly only for terrain and can handle far larger terrains than say blender or such app would be capable of, and l3dt does all the texturing as well. I'ts not free though free version can handle I think 2048x2048 which is fairly large anyway, then you would bring said terrain into a 3d app and apply the heightmap. All standard in most 3d apps as well, and the if its large enough you must SPLIT the mesh so maratis can handle it perfomantly with objects attached afterwards . IT also allows random terrain which 3d apps certainly don't have, so its not just about 'creating' a terrain in a 3d app and texturing it.
=======================
Actually you don't need to bake anything in blender, you just use texture splatting mode, after LOADING your textures into texture slots, and then assign them in the texture paint slots on left side of blender UI and grab 'new' texture. You need to of course unwrap and assign the special textures that work as alpha maps inbetween each texture ( off top of my head) and then faik that's about it. I honestly can't stand light maps, as to me they are just cheap ( which does not appeal to me honestly) 'lighting', albeit atm,,its all we got, since your teapot example ? reference for dynamic lighting was incorrect . Having said all that, I m not using blender as I already said, so only skethcup or art of illusion or such is doable here but I do have some access ( friend) to 3dsmax 2011.
===================
On High Quality:
I am sure that Maratis cannot handle a terrain that is 800,000 polygons (I tried. It crashed.) haha, but who does that in games anyhow?
==================
I never said use a 800,000 Polygon terrain, that was you and you own it :)lol
Also, they use NORMAL MAPS to simulate geometry. I need to do a test with that in Maratis. But even without normal maps, HEY, I can slap some texture on a plane (and believe me, that PS3 game's terrain was not 800,000 polygons. haha.
===================
Normal maps only go SO far in emulating geometry, its fakey looking and PLastic imho ( often is), and geometry 'shaders' which many engines have, would be the next evolution, but certainly not necessary .
====================
P.S. Have you heard of Sculptris? Sculptris allows you to paint multiple textures onto a 3d model like Zbrush. You can also use it for sculpting.
===================
Yes I have sculptris which later I may use to do just that, but I"ve not gotten that far as Im detailing my meshs right now, as in deciding what I want to use ( shape etc.) and what I want it to look like.
But again as noted earlier, Sculptris isn't for working on large/huge terrains, and neither is blender or most other '3d modelers', which is where l3dt or such apps come into play.They are the only true terrain editors OR ones like them that come with unity, UDK etc., because they are the only ones that allow for editing very large terrains, and besides, I never liked the idea of 'making' a terrain in one of those ( the right way), and then loading it into a '3d modeling app' using DISPLACEMENT MAP, because I just don't feel its very precise and causes distortion to your original terrain/image.
Cheers
hs
Powered by PunBB, supported by Informer Technologies, Inc.
Currently installed 3 official extensions. Copyright © 2003–2009 PunBB.