Entraides et échanges autour de la technologie Scol - Informations and exchanges on the Scol technology
Vous pouvez changer la langue de l'interface une fois inscrit - You can change the language once registered
You are not logged in.
Hey,
Finally, and after lot of research and try, I've got something that renders ^^.
A screenshot is more expressive than a long sentence:
The navigator engine behind is chrome.
Some work to do to finish (focus managing, key events, javascript binding), but it we'll be a piece of cake now!
Will be certainly in next release, and I'll commit soon a working version (next week max I think).
Here are two pictures that show a debug view of a test I've done to optimize raycast in SO3:

This work was initiate has the current raycast system is not very optimized: currently, we use Ogre::Raycast to get a list of entities whose bounding box intersects with the ray casted from the camera. Then, we do a recursive search on every triangle of every subentity of every entities that intersect, to find which entity is the closer, and the exact intersection point with the mesh (you can see just with the previous sentence that it could be very expensive in processor time), all this done by the cpu.
This use the "selection buffer" technique, wich consist in render the scene a second time in a texture (render to texture), assigning a unique color to each sub-entity (we use a shader to render each subentity with the specified color). Then, when picking with mouse, we check wich color is under mouse coordinate, and return the sub-entity that is under. Then we reuse the existing code to find the exact intersection with the subentity (we don't need to iterate throught subentites, as we precisely know which one is under the mouse).
It also optimize the "priorized" entities selection (like the selections gizmos for example), as they are rendered in the texture "lately" (in the last render queue).
More testing is needed to confirm that it's more efficient than the actual method.
Yep, it's a good idea, especially for the "distrib" version.
But once again, i get no time for the moment to do that... Redmine ticket please, just in case i forget ![]()
Yep maybe... if i succeed to make it work...
Even my "simple" ogre only sample do not work for the moment...
He, and by the way, merry christhmas (i know i'm late) !
yep wip ![]()
Hey!
Yep, i know for this LNK4098 warning (http://msdn.microsoft.com/en-us/library … 71%29.aspx), and we got many solution to resolves that:
1) Like you said, rewrite the FindZLib.cmake script. I did not choose this solution for now, cause i want to use cmake officials scripts whenever it's possible (less maintenance work for me
, and multiplatforms scripts).
2) Add a "/NODEFAULTLIB" statement to preprocessor flags. The problem for that it that's not easy to add some definitions specially for a compilation target (in our case, debug) with cmake.
3) Ignore this warning, as we do not really need to have zlib debug symbols (in my opinion). We could eventually use 'pragma ignore warning', or nothing at all...
Initially, I arbitrary choose the 3rd solution, as for me this warning is not critical, and there's drawbacks for the others solution, but, i could eventually switch to solution 1.
in fact ,I don't know why these code in there and it seems no function
Yep, those lines are unuseful here (it's a "for all projects" include and libs inclusion path). Should be removed.
Linux version ?
The cmake system was initialy the one i used to compile the vm on ubuntu, so it "was" working, but do not know how that's goes now...
Have no time to check this for the moment ![]()
I'll keep you up to date...
Hi again ^^
Zlib needs to write on the registry, cause that's the way cmake found it:
Each dependency is finded using a cmake command (check Scol/CMake/ScolDependencies.cmake): find_package(LibName)
This command use a script file named FindLibName.cmake to check where the dependency files (headers and .lib) should be found.
Lots of Findxxx scripts are installed with cmake (in Programs Files\Cmake\Share\Module if i remind well), so when they exists, i use cmake provided scripts.
If you open the FindZLIB file you'll see that it use pkglib to find zlib on unix platforms, and the registry to find it on Windows (not very clean, i must accept that, but it's the cmake official zlib Find script).
Hopes my explications are clear ^^
PS: most of other cmake "Find scripts" provide an aenvironment variable to find the root directory for a dependency, but FindJPEG.cmake and FindPNG.cmake do not provided some, so, it's mostly a hack to add "${ENV_SCOL_DEPENDENCIES_PATH}/libjpeg" to the scol cmake search path, that's not the cmake "normal way" of doing.
Hi,
Yep, for the first, it's certainly two differents version of zlib, and centralizing dependencies with cmake should do the trick. Anyway, Cmake porting is not on my priority list, i do that the week end when i got time...
For the second, it's certainly a define not configured the same way in OgreNewt project and Ogre project, i'll check it out tomorrow.
Hi everybody.
Lib 2D OS as been ported to Cmake.
To make it compile, you'll have to update trunk/dependencies, trunk/scol (and trunk/tools too).
You'll need to re-run setWindowsSearchPaths.bat, as there's new dependencies. I added a small text file to explain how to compile the dependencies if you are using another msvs version than 2008 (there's pre-compiled libs for msvc 2008, so no need to build them).
<edit>As Arkeon noticed me, you may have to "Delete cache" from cmake menu before generating the project</edit>
Next, launch cmake as usual.
PS: As lib2dOS is windows only, it will not appears on others platforms, but i wish i do not broke cmake scripts for unix.
Hi,
No, it's not supported for the moment, but it's on the todo list.
We need to talk how to handle it, to implement it, and to know what the user will be authorized to "undo" (only 3d movements, tree hierarchy moves???) or not, and how they could be combined. Another big point is "undoing" object deletion (we have to store all information concerning a deleted element!).
But Arkeon will explain it better than me ![]()
Haha, you can't !!!
No, seriously, first you have to activate the scol Log: Scol Voyager, right click on the notification icon, select Configure/Advanced (not sure of the labels, me and arkeon have done so many modifications to SO3 that even ScolVoyager refuse to run for the moment), and set:
log yes
?level? ffffThere another option useful, "do not close scol window when exiting", but didn't remember where the hell it's in Scol Voyager...
With the log in the console plus the log file (in C:\Users\%AccountName%\AppData\Local\Scol Voyager\Logs), you will have some useful informations about your error.
But, if you want something like visual studio debugger, it not possible. Like in javascript, in last resort, use log text functions or dialog box functions to show your variables values.
For the c++ template, i wrote a tutorial explaining point after point each function, but in french... and on our local wiki.
I'll try to take some time this week to commit html pages in the template dir.
nb that this code is windows only, Iri way is better ![]()
dans la structure même du moteur qui fait que n'importe quel code, même basique, peut rapidement se trouver obsolète
In fact, we are currently totally refactoring the engine, so, now it starts to be structured ^^, but once this done (and it have to be done sooner as possible, to avoid this type of obsolescence), the engine api will evoluate more logically than today, with no api breaks at all. Need some time to rewrite all, but the big part is done ![]()
Thanks for the cheers ![]()
S'il fonctionne avec 4.5 donc 6 devrait fonctionner.
Loin de moi l'idée d'alimenter le troll, mais s'il y a un changement de version (et deux même), c'est justement que pas mal de choses ont changés entre ces deux vm.
Alors, je ne sais pas pour photo3s, mais il n'est pas étonnant que des fonctionnalités SCS ne fonctionnent plus, car honnêtement, il n'est plus beaucoup utilisé, et donc la rétro-compatibilité théorique peut être cassée sur certains points... Et puis, la lib2d n'est pas complètement fonctionnelle (avec la vm6, mais ok pour la vm4.5) sous linux, donc pour le serveur avec gestion des photos, c'est rapé (en V6 en tout cas)...
Un petit log pourrait être utile pour t'aider...
The resolution of the generated mesh is quite impressive, for photo shooted generation.
Hi,
It's cleaner to use "#if SCOL_PLATFORM == SCOL_PLATFORM_WINDOWS", look at the platform detection macro in "scolPlatform.h".
You can add a platform if necessary there if you want.
Nodrev
Hum, i'm think that Kenshin is right, that's an error...
And you have almost right arkeon, but in fact it's the code show there that is Ogre 1.6 specific.
It will be removed soon, but i'll commit your correction asap.
Thank you Kenshin.
<edit>This code totally confuse me, do not understand why we reconstruct the fsaa string, but can't debug it for the moment, cause to do that i'll have to come back to ogre 1.6...</edit>
The files are now on svn.
Nodrev
Who's the stupid guy who wrote this "hello world" template?
Oups... it was me... ![]()
Hi iri,
I think that maybe you have miss a point: it's a cmake conversion, not a unix conversion, this last point still have to be done.
"scolFindData" are two files i wrote for ubuntu (in fact, i took them from ogre), and they simply 'emulate' two or tree function that do not exist within linux.
Anyway, I'll post those files asap, to let you try the unix compilation (but i'm pretty sure it won't work without modifications, as i saw when converting to cmake some windows api calls not within "#if SCOL_PLATFORM == SCOL_PLATFORM_WINDOWS").
Nodrev
Just committed usmwin converted to cmake.
No problem with release, but you may remark that i added a '_d' at the end of the scol.dll for debug build, as lots of libraries does.
Goto sleep (:o wahhh), bye!
How to build Scol vm with cmake?
First, here the recommended directory layout for your local copy:
D:/Scol/ScolBuild
D:/Scol/trunkDownload cmake from http://www.cmake.org/cmake/resources/software.html (at least v2.8), and install it.
Next, if you are under ms windows, go to the "trunk/dependencies" dir, and execute "setWindowsSearchPaths.bat"(you may need to exec it as with admin mode), this will setup some environment variable that will help cmake to find the scol dependencies.
Verify in windows environment variable dialog box (params/system) that you have a "SCOL_DEPENDENCIES_PATH" variable, pointing to the "dependencies" dir.
Once this done, you can run cmake gui. The following window appears:
In the "where is the source code" textbox, you will have to... tell where the global cmake script is, in my case, it's "D:/Scol/trunk/scol" (not "D:/Scol/trunk" !!!).
And in "where to build the binaries" textbox, indicate a build directory (for me it's "D:/Scol/ScolBuild", if it not exists, then cmake will create it for you). All the projects or makefiles will be generated here, that's means that the "trunk" directory stay clean, containing only the source code.
Next, hit the "configure" button. The first time you feed a new "build directory", cmake will ask you wich "target" (or compilation environment) you want to use. I have msvc 2008 on my laptop, so lets select that.
If all the dependencies are found (only zlib at the moment where i write those lines, so no problem normaly), a little message will indicate it (else you'll have some weird red messages, if that happens, please report on the forum).
Check the additionnals option that you want to set for your project (not much can be selected for the moment, as vm as no builds options), and hit the "configure" button one more time.
The non-configurated options that were red on the first hit are now setted, and you can now generate your projects files by hitting the "generate" button.
A message will tell you if everything was ok:
Finally, go to your build dir, and launch your solution file (""). You now just have to build the library the same way as usual.
Hope thats help!
Nodrev.
ps: only tested on windows, but linux developments should be easier now...
pps: you may see "doxygen" as a dependency in the screenshots, it's an "optional dependency", so you won't have to install it if you don't have it. And it's not used for the moment...
Just commited the vm5 cmake version.
Next priority will be to convert usmwin (i think it's broken, not tested, but i pretty sure cause includes directories have changed...).
I'll write a cmake tuto asap in another post.
Nodrev.
Hi,
I made tests some times ago to make the compilation system more flexible. Indeed, all the scols compilation projects uses differents version of visual studio, v2009 for the maintained and in active development, which is not very handfull if the developer had a different version (i used msvs2008 express for a while at home, and recently switch to msvs2010 express).
As a habits with microsoft, files generated by their tools are not backward compatible with older versions (please, do not feed the troll
).
Plus, the linux compilation has become an headhake, due to outdated makefiles (when they're exists).
So, i turn myself to cmake, as i found this tool very useful in ogre (and i succesfully used it in some personals projects).
The test i made is now on an svn branch, as a "startpoint", cause i will not have the time myself to make some improvment to it for the moment.
Check the svn log, i put lots of important notes in it, while commiting this branch.
And don't hesitate to talk here if some points are still not clear.
Nodrev