You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
(25) |
Dec
(46) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(3) |
Feb
(23) |
Mar
(6) |
Apr
(15) |
May
(16) |
Jun
(24) |
Jul
(16) |
Aug
(92) |
Sep
(31) |
Oct
(40) |
Nov
(24) |
Dec
(32) |
2002 |
Jan
(22) |
Feb
(4) |
Mar
(38) |
Apr
(52) |
May
(38) |
Jun
(61) |
Jul
(44) |
Aug
(9) |
Sep
(15) |
Oct
(13) |
Nov
(34) |
Dec
(25) |
2003 |
Jan
(26) |
Feb
(10) |
Mar
(10) |
Apr
(5) |
May
(30) |
Jun
|
Jul
(2) |
Aug
(22) |
Sep
(29) |
Oct
(12) |
Nov
(18) |
Dec
(14) |
2004 |
Jan
(18) |
Feb
(23) |
Mar
(17) |
Apr
(17) |
May
(9) |
Jun
(10) |
Jul
(1) |
Aug
|
Sep
|
Oct
(4) |
Nov
(9) |
Dec
(29) |
2005 |
Jan
(37) |
Feb
(24) |
Mar
(6) |
Apr
(4) |
May
(2) |
Jun
(18) |
Jul
(3) |
Aug
(14) |
Sep
(6) |
Oct
(7) |
Nov
(25) |
Dec
(21) |
2006 |
Jan
(21) |
Feb
(17) |
Mar
|
Apr
(8) |
May
|
Jun
|
Jul
|
Aug
(13) |
Sep
(4) |
Oct
(22) |
Nov
(31) |
Dec
(19) |
2007 |
Jan
(10) |
Feb
(9) |
Mar
(8) |
Apr
(4) |
May
(1) |
Jun
(8) |
Jul
(13) |
Aug
(2) |
Sep
(7) |
Oct
(8) |
Nov
(3) |
Dec
(5) |
2008 |
Jan
(13) |
Feb
(5) |
Mar
(7) |
Apr
(13) |
May
(12) |
Jun
(8) |
Jul
(24) |
Aug
(25) |
Sep
(12) |
Oct
(16) |
Nov
(1) |
Dec
|
2009 |
Jan
(4) |
Feb
(13) |
Mar
(9) |
Apr
|
May
(2) |
Jun
|
Jul
(11) |
Aug
(6) |
Sep
(2) |
Oct
(15) |
Nov
(11) |
Dec
|
2010 |
Jan
(4) |
Feb
(11) |
Mar
(38) |
Apr
(7) |
May
(13) |
Jun
(4) |
Jul
(17) |
Aug
(1) |
Sep
(13) |
Oct
(10) |
Nov
(4) |
Dec
|
2011 |
Jan
(6) |
Feb
(1) |
Mar
|
Apr
(6) |
May
(8) |
Jun
(2) |
Jul
(10) |
Aug
(2) |
Sep
|
Oct
|
Nov
(2) |
Dec
(1) |
2012 |
Jan
(3) |
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
(7) |
Jun
(8) |
Jul
(1) |
Aug
|
Sep
(5) |
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(2) |
Sep
(3) |
Oct
(4) |
Nov
(3) |
Dec
|
From: Braden M. <br...@en...> - 2008-08-15 18:06:01
|
On Fri, 2008-08-15 at 16:32 +0400, Murashov Gleb wrote: > > Braden McDaniel wrote: > > openvrml::scope corresponds to a lexical scope for DEF/USE names. > > As such, the nodes created from create_vrml_from_stream > > have their own root scope that is distinct from the scene's. > > The only way to get to this scope is through a node > > (i.e., openvrml::node::scope). > > I think that situation is strange, when creating named node by > create_vrml_from_stream and not storing node reference, we don't have > easy way to find that one. So, we have dependence between points in > code: creating node and using node. Well, the scopes are distinct because, as I said, they really do correspond to lexical scopes. It is entirely permissible for a node in a string given to create_vrml_from_stream to have the same DEF name as a node already in the scene. Note that the nodes you create with create_vrml_from_stream are not automatically added to the scene. If you don't store a(n owning) reference to them, *they will go away*. And if you want them to be in the scene, you'll need to put them there. If your goal is to replace the scene itself, you really should be using browser::set_world. While it is possible to replace the scene's root nodes by using create_vrml_from_stream followed by browser::replace_world, this is not generally ideal because the scene's URL doesn't change in that case. > > Can you tell me more about what you're trying to accomplish? > > Perhaps there's another approach that would work better. > > I don't have question relate my task. I'm trying to do available > openvrml API subset under Mozilla plug-in. Wow... That's ambitious. Especially considering what a pain-in-the-ass that must be given the current mode of IPC with openvrml-xembed. > Typical task which I solve is > to create TouchSensor node for certain group node and to get TouchSensor > events. I'm askink for better understanding =) > > > I'm in the middle of ripping out this pipe-based custom IPC solution > > in favor of D-Bus interfaces. > > Could you tell me when this task will be finished? Not precisely; but see my recent status posting on this. If things go smoothly I could be done in a week. If I hit a bunch of problems and life imposes other demands on me (I have an infant son), it could be significantly longer. I will check code into svn just as soon as I have something that's the least bit usable. If it's too rough for the trunk, I'll put it on a branch. > >> Getting back to node_type::create_node(). If we can't use this > >> function outside library, it would be better to remove this one from > >> public interface? > > I don't know of anything that prevents this function from being usable > > by clients of libopenvrml. > > Is there legal way to get shared_ptr<scope>&, which is necessary for > using node_type::create_node()? Either you create a new one or you use one you already created. If you search for "new scope" in browser.cpp you'll see the various spots new scopes get created during parsing. As it stands, scopes really aren't run-time mutable. Rather, they are a run-time *inspectable* reflection of an aspect of parse-time state. Making them run-time mutable might be a good idea. But doing that is going to involve coming up with some acceptable solutions to some annoying problems. It will involve creating a correspondence between scopes and run-time scene constructs and solving the problem of merging scopes in some way that isn't too awful. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: Braden M. <br...@en...> - 2008-08-15 15:54:31
|
I'm making some steady progress on the conversion of openvrml-xembed to use D-Bus. For those with some knowledge of D-Bus, this will work by making a VrmlControlFactory available as a system service. Applications can use this service to create a new XEmbed control. At this point I have a control and control host that can talk to one another with D-Bus; and I'm in the process of rewiring the existing pipe-oriented logic to use remote method calls via D-Bus. There are some significant advantages to this: * It's a lot easier to extend D-Bus interfaces than to extend the pipe-based custom IPC that I'd implemented. I think this will help significantly with making the control scriptable. * The resulting code (i.e., post-D-Bustification) is partitioned a bit better; and it should be a lot easier to tease out the platform-independent parts for repurposing in Mac and Windows variants of the control. I'm on the fence about whether to push this stuff into a 0.17.x release. 0.18 is still some ways off and it would be nice to make this available sooner. It shouldn't impact the libopenvrml API; so there's no problem there. However, it will incur dependencies on D-Bus stuff as well as a particularly fresh GTK+. I'm a little reluctant to do that in what is in name a patch-level release. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: Murashov G. <Mur...@se...> - 2008-08-15 12:32:45
|
> Braden McDaniel wrote: > openvrml::scope corresponds to a lexical scope for DEF/USE names. > As such, the nodes created from create_vrml_from_stream > have their own root scope that is distinct from the scene's. > The only way to get to this scope is through a node > (i.e., openvrml::node::scope). I think that situation is strange, when creating named node by create_vrml_from_stream and not storing node reference, we don't have easy way to find that one. So, we have dependence between points in code: creating node and using node. > Can you tell me more about what you're trying to accomplish? > Perhaps there's another approach that would work better. I don't have question relate my task. I'm trying to do available openvrml API subset under Mozilla plug-in. Typical task which I solve is to create TouchSensor node for certain group node and to get TouchSensor events. I'm askink for better understanding =) > I'm in the middle of ripping out this pipe-based custom IPC solution > in favor of D-Bus interfaces. Could you tell me when this task will be finished? >> Getting back to node_type::create_node(). If we can't use this >> function outside library, it would be better to remove this one from >> public interface? > I don't know of anything that prevents this function from being usable > by clients of libopenvrml. Is there legal way to get shared_ptr<scope>&, which is necessary for using node_type::create_node()? Gleb. |
From: Braden M. <br...@en...> - 2008-08-13 16:16:16
|
OpenVRML 0.17.8 is now available. The distribution can be obtained from <http://downloads.sourceforge.net/openvrml/openvrml-0.17.8.tar.gz> OpenVRML is a C++ runtime library for VRML97 and X3D worlds. It is capable of reading and displaying VRML/X3D; it can be used for creating loaders, file converters, and VRML/X3D browsers. OpenVRML includes an out-of-process viewer component for use in X11 environments along with hosts for this component in the form of a Mozilla browser plug-in and a stand-alone player. You can find OpenVRML on the Web at <http://openvrml.org> New in OpenVRML 0.17.8: - Fixed an initialization problem in openvrml-xembed. |
From: Braden M. <br...@en...> - 2008-08-12 21:18:21
|
OpenVRML 0.17.7 is now available. The distribution can be obtained from <http://downloads.sourceforge.net/openvrml/openvrml-0.17.7.tar.gz> OpenVRML is a C++ runtime library for VRML97 and X3D worlds. It is capable of reading and displaying VRML/X3D; it can be used for creating loaders, file converters, and VRML/X3D browsers. OpenVRML includes an out-of-process viewer component for use in X11 environments along with hosts for this component in the form of a Mozilla browser plug-in and a stand-alone player. You can find OpenVRML on the Web at <http://openvrml.org> New in OpenVRML 0.17.7: - Fixed potential crashes when processing coordinate, color, and normal indices. - Fixed potential failure in the Mozilla plug-in and openvrml-player due to inconsistent handling of stream handles. |
From: Braden M. <br...@en...> - 2008-08-11 03:19:29
|
Braden McDaniel wrote: > Murashov Gleb wrote: >> >> On Wed, 2008-07-23, Braden McDaniel wrote: >>> node_type::create_node is a rather low-level operation from OpenVRML's >>> perspective. That is not to say that you shouldn't be using it; just >>> be aware that browser::create_vrml_from_stream may be an appropriate >> alternative. >> >> I've used browser::create_vrml_from_stream successfully, but I can't >> understand, which scope got created node. >> >> field_value_listener< mfnode >& fvl_add = >> group_node->event_listener< mfnode >("addChildren"); >> >> std::stringstream sss; >> sss << "DEF main_TS TouchSensor {}"; >> mfnode::value_type nodes_for_mfnode = >> browser.create_vrml_from_stream(sss); >> >> mfnode mfn(nodes_for_mfnode); >> fvl_add.process_event(mfn, 0.0); >> >> ... >> >> node* f_n = root_scope.find_node("main_TS"); >> // f_n == 0 :( >> >> TouchSensor is created and works, but created node doesn't appear in >> root_scope. Where can I find that? Is there any possibility to manage >> this? > > openvrml::scope corresponds to a lexical scope for DEF/USE names. As > such, the nodes created from create_vrml_from_stream have their own root > scope that is distinct from the scene's. The only way to get to this > scope is through a node (i.e., openvrml::node::scope). I was very tired when I wrote the above response. In case it's not clear, you can get the root scope associated with the nodes read from the stream as follows: const openvrml::scope & s = nodes_for_mfnode[0]->scope(); You can then use openvrml::scope::find_node on s as you do with root_scope in the code above. Of course, if all you want is a pointer to main_TS, "nodes_for_mfnode[0]" is a perfectly reasonable way to get it (in this case). -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: Braden M. <br...@en...> - 2008-08-09 04:52:45
|
Murashov Gleb wrote: > > On Wed, 2008-07-23, Braden McDaniel wrote: >> node_type::create_node is a rather low-level operation from OpenVRML's > >> perspective. That is not to say that you shouldn't be using it; just >> be aware that browser::create_vrml_from_stream may be an appropriate > alternative. > > I've used browser::create_vrml_from_stream successfully, but I can't > understand, which scope got created node. > > field_value_listener< mfnode >& fvl_add = > group_node->event_listener< mfnode >("addChildren"); > > std::stringstream sss; > sss << "DEF main_TS TouchSensor {}"; > mfnode::value_type nodes_for_mfnode = > browser.create_vrml_from_stream(sss); > > mfnode mfn(nodes_for_mfnode); > fvl_add.process_event(mfn, 0.0); > > ... > > node* f_n = root_scope.find_node("main_TS"); > // f_n == 0 :( > > TouchSensor is created and works, but created node doesn't appear in > root_scope. Where can I find that? Is there any possibility to manage > this? openvrml::scope corresponds to a lexical scope for DEF/USE names. As such, the nodes created from create_vrml_from_stream have their own root scope that is distinct from the scene's. The only way to get to this scope is through a node (i.e., openvrml::node::scope). Can you tell me more about what you're trying to accomplish? Perhaps there's another approach that would work better. > Getting back to node_type::create_node(). If we can't use this function > outside library, it would be better to remove this one from public > interface? I don't know of anything that prevents this function from being usable by clients of libopenvrml. It just doesn't present the simplest interface for creating nodes from VRML text. > Another thing. I've found small bug in openvrml-xembed and > mozilla-plugin interaction. And I don't know how bug-tracking have to be > used, so I write here. =) OpenVRML uses the SourceForge tracker. Don't worry too much about getting the bug categorization exactly right; that can generally be adjusted ad hoc. > openvrml-0.17.6\mozilla-plugin\src\openvrml.cpp : 442 > command << "new-stream " << ptrdiff_t(stream) << ' ' << type << > ' ' << stream->url << '\n'; > openvrml-0.17.6\mozilla-plugin\src\openvrml.cpp : 460 > command << "destroy-stream " << ptrdiff_t(stream) << '\n'; > > Signed type ptrdiff_t is using. > > openvrml-0.17.6\src\openvrml-xembed\main.cpp : 149-151 > size_t stream_id; > std::string type, url; > command_line_stream >> stream_id >> type >> url; > openvrml-0.17.6\src\openvrml-xembed\main.cpp : 172-173 > size_t stream_id; > command_line_stream >> stream_id; > > Unsigned type size_t is using. > > That was reason my system crash during plug-in initialization. This > happens from time to time. Hm... Good point. This really should use size_t consistently. This is probably worth going ahead and fixing; however, I'm in the middle of ripping out this pipe-based custom IPC solution in favor of D-Bus interfaces. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: Murashov G. <Mur...@se...> - 2008-08-08 13:13:55
|
On Wed, 2008-07-23, Braden McDaniel wrote: > node_type::create_node is a rather low-level operation from OpenVRML's > perspective. That is not to say that you shouldn't be using it; just > be aware that browser::create_vrml_from_stream may be an appropriate alternative. I've used browser::create_vrml_from_stream successfully, but I can't understand, which scope got created node. field_value_listener< mfnode >& fvl_add = group_node->event_listener< mfnode >("addChildren"); std::stringstream sss; sss << "DEF main_TS TouchSensor {}"; mfnode::value_type nodes_for_mfnode = browser.create_vrml_from_stream(sss); mfnode mfn(nodes_for_mfnode); fvl_add.process_event(mfn, 0.0); ... node* f_n = root_scope.find_node("main_TS"); // f_n == 0 :( TouchSensor is created and works, but created node doesn't appear in root_scope. Where can I find that? Is there any possibility to manage this? Getting back to node_type::create_node(). If we can't use this function outside library, it would be better to remove this one from public interface? Another thing. I've found small bug in openvrml-xembed and mozilla-plugin interaction. And I don't know how bug-tracking have to be used, so I write here. =) openvrml-0.17.6\mozilla-plugin\src\openvrml.cpp : 442 command << "new-stream " << ptrdiff_t(stream) << ' ' << type << ' ' << stream->url << '\n'; openvrml-0.17.6\mozilla-plugin\src\openvrml.cpp : 460 command << "destroy-stream " << ptrdiff_t(stream) << '\n'; Signed type ptrdiff_t is using. openvrml-0.17.6\src\openvrml-xembed\main.cpp : 149-151 size_t stream_id; std::string type, url; command_line_stream >> stream_id >> type >> url; openvrml-0.17.6\src\openvrml-xembed\main.cpp : 172-173 size_t stream_id; command_line_stream >> stream_id; Unsigned type size_t is using. That was reason my system crash during plug-in initialization. This happens from time to time. Gleb. |
From: Braden M. <br...@en...> - 2008-08-04 20:08:52
|
If anyone who is attending SIGGRAPH would feel comfortable representing OpenVRML at the PlugFest, please contact me. I figure the requirements for this task are an ability to get openvrml-player and/or the Mozilla plug-in up and running and some familiarity with OpenVRML's current limitations. The reward for this task is the near certainty of numerous opportunities to blame me for stuff. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: <rte...@ya...> - 2008-08-03 04:57:13
|
Thanks guys for all the advice, and the long list of reading material! I've located the Accelerated C++ text and its pretty good going so far. Not sure if I'd recommend it to an absolute beginner though; but I'm pretty happy with the approach. As for the SDL-viewer demo: I've gotten that working as well. I just needed to point the compiler in the right places. I'll be lurking in the background for a while. As soon as I get those burning questions I'll throw them out for some feedback. Catch you later, tees |
From: Braden M. <br...@en...> - 2008-07-31 23:50:11
|
On Fri, 2008-08-01 at 11:14 +1200, John Pallister wrote: > That's an excellent list of books (although I haven't read > Koenig & Moo either, I have all the others except Josuttis > [but I'd be lying if I said I'd read them all]). > > I would also recommend Björn Karrlsson's "Beyond the C++ > Standard Library: An Introduction To Boost". Partly because > OpenVRML uses Boost (hooray!), and partly because Boost > answers the question "what could templates possibly be good > for that would justify all this additional complexity?" > (Apart from the STL, of course.) > > And if you've read through all those books and your > enthusiasm for C++ continues unabated, check out "Generative > Programming" by Czarnecki and Eisenecker for some positively > occult techniques. At the risk of overwhelming tees... Another good book along these lines is Abrahams & Gurtovoy's "C++ Template Metaprogramming". It's both an introduction to template metaprogramming concepts and a starter guide for boost::mpl. To some extent, it more elegantly packages several of the techniques exposed in "Modern C++ Design"; and as such it makes for a good follow-on to that book. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: John P. <jo...@sy...> - 2008-07-31 23:16:33
|
That's an excellent list of books (although I haven't read Koenig & Moo either, I have all the others except Josuttis [but I'd be lying if I said I'd read them all]). I would also recommend Björn Karrlsson's "Beyond the C++ Standard Library: An Introduction To Boost". Partly because OpenVRML uses Boost (hooray!), and partly because Boost answers the question "what could templates possibly be good for that would justify all this additional complexity?" (Apart from the STL, of course.) And if you've read through all those books and your enthusiasm for C++ continues unabated, check out "Generative Programming" by Czarnecki and Eisenecker for some positively occult techniques. Cheers, John :^P Braden McDaniel wrote: > On Thu, 2008-07-31 at 07:28 -0700, rte...@ya... wrote: >> Braden, >> Thanks for the quick reply and the focus you've provided. I am not "faint hearted" when it comes to trying new things, viz. C++; as long as I make consistent progress. Could you please recommend the hard copy texts on C++ that you've found helpful? Also I often find suggestions that programmers should have good "design patterns" texts. Any thoughts/recommendations on this? > > "Accelerated C++", by Koenig & Moo, gets recommended a lot as an > introductory text by persons whose opinions I respect. I haven't read it > myself, though. (Unfortunately for me there wasn't a book that filled > this niche back when I started learning this stuff.) > > The two references you'll really need are Stroustrup's "The C++ > Programming Language" and Josuttis' "The C++ Standard Library". Another > good reference is Vandevoorde & Josuttis' "C++ Templates". Langer & > Kreft's IOStreams book is good, too; but unnecessary unless you're doing > significant work with IOStreams. > > Once you've worked through "Accelerated C++", I'd recommend Scott > Meyers' "Effective C++". His other two books, "More Effective C++" and > "Effective STL" are good, too; though the former hasn't been updated in > a while and is probably a little dated in parts. > >>From there, you can move on to Herb Sutter's books: "Exceptional C++", > "More Exceptional C++", and "Exceptional C++ Style". And somewhere along > the way at this point you might want to pick up Alexandrescu's "Modern > C++ Design". > > For design patterns, I don't have a recommendation other than the > canonical "Gang of Four" book, "Design Patterns". It's old; but it > really is a classic. You'll find some elements of design pattern > application in the Meyers and Sutter books (as a by-product of the fact > that they teach, for the most part, useful idioms). > >> It will be slow going for a while because I'll be teaching myself the language while going through your work. (I've some Java and C experience, but C is not C++). >> I'll keep my posts on list unless someone tells me otherwise, > > Your Java and C experience will help--at least the syntax shouldn't be > totally alien. Again, best of luck. > -- John Pallister jo...@sy... |
From: Braden M. <br...@en...> - 2008-07-31 17:02:42
|
On Thu, 2008-07-31 at 08:05 -0700, rte...@ya... wrote: > Hello all, > I tried the "How to compile OpenVRML under Windows Vista or XP" but it did not work for me. There were a couple things that I was unsure about along the way that I took note of: I haven't tried these instructions line-by-line myself; but looking over them they describe basically the procedure I use. > >> > 6. Download and install Freetype2 2.3.6 from here: > http://sourceforge.net/project/showfiles.php?group_id=3157 > There's a solution file in the builds/win32/visualc subdirectory > that you can create the .lib file with. > Once that's done, move it to your morelibs directory. > << > > where is the morelibs directory? I did the earlier part of point 6., but I did not know where to move the .lib file generated. Looks like perhaps an editing mistake in the instructions. I generally just add the place where the FreeType solution generates the .libs to Visual C++'s .lib file search path. > 9. Add the include directory for libpng to the VC++ include path list. > This is just the lpng directory itself. > Add the libpng's library directory to VC++'s library path list > since we will use this later when compiling OpenVRML. > It is this: > lpng1229/projects/visualc71/Win32_LIB_Debug/libpng13d.lib > Build libpng > << > > This worked, kind of. I had to Build libpng *before* i got the win32_LIB_Debug folder and file being created. (I thought that made sense by the way) correct me if I'm wrong. Sounds right to me. > 12. You will need to install SDL. > You have two options: To download precompiled DLLs > plus include files, or to build it yourself. > For precompiled go here: > http://www.libsdl.org/download-1.2.php > (I found that the precompiled SDL 1.2.13 works.) > The included DLLs that will have to be installed in > the binary directory of OpenVRML or in c:\windows\system32. > >> > > I used the procompiled DLLs (only one DLL file by the by the way SDL.dll ver 1.2.13.0) > I tried in the c:\windows\system32 folder alone. > I tried in the binary directory of OpenVRML. (simultaneously with the ..\system32 copy of the file) > I don't have the directx sdk, do I really need to download this even for the precompiled files? > (Ok i'll download it anyway, but do I really need it?) I never recommend manually dumping anything in windows\system32. I generally just put SDL.dll in the bin directory where OpenVRML's solution dumps its DLLs and executables. > 13. Add SDL's header and library directories to the VC++'s path lists. > << > I did this but I believe it's causing a linking error during my build. It's a necessary step; I'm not sure what the problem might be without seeing the errors. > Have I extracted the source files correctly? Here is the path: > D:\openvrml-0.17.6\openvrml-0.17.6\ide-projects\Windows\VisualC9_0\OpenVRML\.. > > Should I shorten the path by removing an "openvrml-0.17.6" ie copy out the stuff to one directory higher. On my next build I'll remove the "-0.17.6" by renaming/copying out It shouldn't matter. Whatever you prefer. > I had to use the d: drive because during compilation the process used up about 500mb of hdd space. (is this normal by the way? what's happening to cause this?) Part of the issue is likely OpenVRML's rather extensive use of C++ templates. This can result in some really big symbols. > 18. Build the solution. The only executable with be sdl-viewer.exe. << > Could not complete this due to the following errors: > > 1.) Compiling... > sdl_viewer.cpp > d:\openvrml-0.17.6\openvrml-0.17.6\examples\sdl_viewer.cpp(29) : fatal error C1083: Cannot open include file: 'SDL.h': No such file or directory Looks like you need to add the include directory for SDL's headers to the include path. > 2.) > LINK : fatal error LNK1181: cannot open input file 'zlibd.lib' > an openvrml build log error > Why is it looking for "zlibd.lib", I thought it was "zlib.lib" zlibd is, presumably, the debug version. It is a convention on Windows to append a "d" to the name of the debug version of a library. Perhaps you just need to compile the debug version of zlib. > 3.) > LINK : fatal error LNK1181: cannot open input file '..\..\lib\openvrmld.lib' > An openvrml-gl build log error > > of course I can post the entire log files if anyone is interested openvrmld.lib wouldn't have been created if zlibd.lib couldn't be found (which presumably libpng needs; libopenvrml doesn't depend on zlib directly). Any errors past this point aren't really interesting until we correct the above ones. > OS Name Microsoft Windows XP Professional > Version 5.1.2600 Service Pack 2 Build 2600 > System Type X86-based PC > Processor x86 Family 15 Model 95 Stepping 2 AuthenticAMD ~2009 Mhz > Windows Directory C:\WINDOWS > System Directory C:\WINDOWS\system32 > Total Physical Memory 1,024.00 MB > Available Physical Memory 537.21 MB I think this much memory should be okay on Windows; though it will be a little tight. Visual C++ isn't as much of a memory pig as gcc. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: Braden M. <br...@en...> - 2008-07-31 16:13:17
|
On Thu, 2008-07-31 at 07:28 -0700, rte...@ya... wrote: > Braden, > Thanks for the quick reply and the focus you've provided. I am not "faint hearted" when it comes to trying new things, viz. C++; as long as I make consistent progress. Could you please recommend the hard copy texts on C++ that you've found helpful? Also I often find suggestions that programmers should have good "design patterns" texts. Any thoughts/recommendations on this? "Accelerated C++", by Koenig & Moo, gets recommended a lot as an introductory text by persons whose opinions I respect. I haven't read it myself, though. (Unfortunately for me there wasn't a book that filled this niche back when I started learning this stuff.) The two references you'll really need are Stroustrup's "The C++ Programming Language" and Josuttis' "The C++ Standard Library". Another good reference is Vandevoorde & Josuttis' "C++ Templates". Langer & Kreft's IOStreams book is good, too; but unnecessary unless you're doing significant work with IOStreams. Once you've worked through "Accelerated C++", I'd recommend Scott Meyers' "Effective C++". His other two books, "More Effective C++" and "Effective STL" are good, too; though the former hasn't been updated in a while and is probably a little dated in parts. >From there, you can move on to Herb Sutter's books: "Exceptional C++", "More Exceptional C++", and "Exceptional C++ Style". And somewhere along the way at this point you might want to pick up Alexandrescu's "Modern C++ Design". For design patterns, I don't have a recommendation other than the canonical "Gang of Four" book, "Design Patterns". It's old; but it really is a classic. You'll find some elements of design pattern application in the Meyers and Sutter books (as a by-product of the fact that they teach, for the most part, useful idioms). > It will be slow going for a while because I'll be teaching myself the language while going through your work. (I've some Java and C experience, but C is not C++). > I'll keep my posts on list unless someone tells me otherwise, Your Java and C experience will help--at least the syntax shouldn't be totally alien. Again, best of luck. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: <rte...@ya...> - 2008-07-31 15:05:27
|
Hello all, I tried the "How to compile OpenVRML under Windows Vista or XP" but it did not work for me. There were a couple things that I was unsure about along the way that I took note of: >> 6. Download and install Freetype2 2.3.6 from here: http://sourceforge.net/project/showfiles.php?group_id=3157 There's a solution file in the builds/win32/visualc subdirectory that you can create the .lib file with. Once that's done, move it to your morelibs directory. << where is the morelibs directory? I did the earlier part of point 6., but I did not know where to move the .lib file generated. >> 9. Add the include directory for libpng to the VC++ include path list. This is just the lpng directory itself. Add the libpng's library directory to VC++'s library path list since we will use this later when compiling OpenVRML. It is this: lpng1229/projects/visualc71/Win32_LIB_Debug/libpng13d.lib Build libpng << This worked, kind of. I had to Build libpng *before* i got the win32_LIB_Debug folder and file being created. (I thought that made sense by the way) correct me if I'm wrong. << 12. You will need to install SDL. You have two options: To download precompiled DLLs plus include files, or to build it yourself. For precompiled go here: http://www.libsdl.org/download-1.2.php (I found that the precompiled SDL 1.2.13 works.) The included DLLs that will have to be installed in the binary directory of OpenVRML or in c:\windows\system32. >> I used the procompiled DLLs (only one DLL file by the by the way SDL.dll ver 1.2.13.0) I tried in the c:\windows\system32 folder alone. I tried in the binary directory of OpenVRML. (simultaneously with the ..\system32 copy of the file) I don't have the directx sdk, do I really need to download this even for the precompiled files? (Ok i'll download it anyway, but do I really need it?) >> 13. Add SDL's header and library directories to the VC++'s path lists. << I did this but I believe it's causing a linking error during my build. Have I extracted the source files correctly? Here is the path: D:\openvrml-0.17.6\openvrml-0.17.6\ide-projects\Windows\VisualC9_0\OpenVRML\.. Should I shorten the path by removing an "openvrml-0.17.6" ie copy out the stuff to one directory higher. On my next build I'll remove the "-0.17.6" by renaming/copying out I had to use the d: drive because during compilation the process used up about 500mb of hdd space. (is this normal by the way? what's happening to cause this?) >> 18. Build the solution. The only executable with be sdl-viewer.exe. << Could not complete this due to the following errors: 1.) Compiling... sdl_viewer.cpp d:\openvrml-0.17.6\openvrml-0.17.6\examples\sdl_viewer.cpp(29) : fatal error C1083: Cannot open include file: 'SDL.h': No such file or directory 2.) LINK : fatal error LNK1181: cannot open input file 'zlibd.lib' an openvrml build log error Why is it looking for "zlibd.lib", I thought it was "zlib.lib" 3.) LINK : fatal error LNK1181: cannot open input file '..\..\lib\openvrmld.lib' An openvrml-gl build log error of course I can post the entire log files if anyone is interested some system specs: OS Name Microsoft Windows XP Professional Version 5.1.2600 Service Pack 2 Build 2600 System Type X86-based PC Processor x86 Family 15 Model 95 Stepping 2 AuthenticAMD ~2009 Mhz Windows Directory C:\WINDOWS System Directory C:\WINDOWS\system32 Total Physical Memory 1,024.00 MB Available Physical Memory 537.21 MB Total Virtual Memory 2.00 GB Available Virtual Memory 1.96 GB Page File Space 2.26 GB Page File C:\pagefile.sys Here's hoping I can get some help with this, thanks. tees |
From: <rte...@ya...> - 2008-07-31 14:28:18
|
Braden, Thanks for the quick reply and the focus you've provided. I am not "faint hearted" when it comes to trying new things, viz. C++; as long as I make consistent progress. Could you please recommend the hard copy texts on C++ that you've found helpful? Also I often find suggestions that programmers should have good "design patterns" texts. Any thoughts/recommendations on this? It will be slow going for a while because I'll be teaching myself the language while going through your work. (I've some Java and C experience, but C is not C++). I'll keep my posts on list unless someone tells me otherwise, thanks again, tees |
From: Braden M. <br...@en...> - 2008-07-31 02:03:06
|
On Wed, 2008-07-30 at 17:29 -0700, rte...@ya... wrote: > Hello,I am new on the list and very new to programming. I find your project interesting, but obviously complicated for my level of understanding. Do you have any conceputal documents on how all the different pieces of the software fit together? Higher level conceptual information that deals with the 'big picture' will go a long way to help my understanding of your code. I'm not hiding any extra documentation. :-) What you see at <http://openvrml.org/doc> is, for better or for worse, the extent of the documentation. There is actually quite a bit there; though the "user guide"-style portion of the documentation could use a good deal of fleshing out. Here are a few bullet-points that should help you get your bearings: * If there is a "hub" or "centerpiece" to OpenVRML, it is the openvrml::browser class. * If you are familiar with VRML/X3D, you can *roughly* map these VRML/X3D language features to OpenVRML constructs: PROTO -> openvrml::node_metatype EXTERNPROTO -> openvrml::node_type node -> openvrml::node I emphasize "roughly" because, while the above OpenVRML classes are central to implementing those respective VRML/X3D language features, you should not be confused into thinking that, for instance, an openvrml::node_metatype is equivalent to a PROTO. It is not. * OpenVRML has been designed to support a notion of "node components"; that is, the node set can be extended at run-time via collections of node implementations in plug-in modules. (While much of the architecture to support this is present in 0.17.x, this capability is not fully realized in that release series. I'm in the process of completing this on the trunk.) I suggest you start with the sdl-viewer example program source. Once you have a good feel for it, move on to openvrml::browser and work out from there. Now, a few words of warning. C++ is a very complex language. Some would steer a novice programmer away from it; but it *is* learnable if you have the interest and are persistent. Your own interest is most important: if C++ is the language you really want to learn, I'm sure you can do so. But you should be prepared to invest in a few books; you just won't find the same quality of information online as can be found in the better texts. I can recommend some books if you like. Furthermore, note that OpenVRML takes advantage of some of the more advanced C++ features. On one hand this can be a bit intimidating to developers not comfortable with these features. On the other hand, if you are interested, it's an opportunity to become more familiar with them. Please feel free to ask questions; either here or off-list. (Generally speaking, I do prefer that users post OpenVRML-related questions to the list. That way the answer can be beneficial to a broader audience. But I understand that posting to the list is not always desirable for a variety of reasons.) Best of luck... -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: <rte...@ya...> - 2008-07-31 00:29:42
|
Hello,I am new on the list and very new to programming. I find your project interesting, but obviously complicated for my level of understanding. Do you have any conceputal documents on how all the different pieces of the software fit together? Higher level conceptual information that deals with the 'big picture' will go a long way to help my understanding of your code. Thank you in advance,tees |
From: Braden M. <br...@en...> - 2008-07-25 08:30:57
|
On Thu, 2008-07-24 at 18:53 +0200, Zoltán Török wrote: > Hi, > > The attached wrl file (made with 3DS max 2009) causes a 'vector subscription > out of range' assertion > in viewer.cpp@line:3082 I've attached a patch that should address this (and other) problems. While the crash you noted was squarely the fault of OpenVRML, fixing it led to a crash due to some invalid data in room.wrl. The node WALL02-FACES uses 24 as a coordIndex; but there are only 24 coordinates. (Coordinates are indexed starting at 0; so 24 is out of range.) Nonetheless, crashing is not an appropriate response to invalid input; so this, too, has been fixed. This patch makes OpenVRML skip invalid coordinate indices (along with any subsequent indices in the same polygon). This patch was created against the trunk; but I suspect it will apply cleanly to 0.17.6. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: Braden M. <br...@en...> - 2008-07-24 18:28:56
|
Zoltán Török wrote: > Hi, > > The attached wrl file (made with 3DS max 2009) causes a 'vector subscription > out of range' assertion > in viewer.cpp@line:3082 Thanks. I've reproduced this. I'll have a look at fixing it tonight. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: Z. T. <to...@gm...> - 2008-07-24 16:53:11
|
Hi, The attached wrl file (made with 3DS max 2009) causes a 'vector subscription out of range' assertion in viewer.cpp@line:3082 Zolee |
From: Braden M. <br...@en...> - 2008-07-23 17:02:25
|
On Wed, 2008-07-23 at 13:05 +0200, Zoltán Török wrote: > What would change if I use 1.34.1 instead of 1.35? I'm not sure exactly. But I think the compiler you're trying to use was the state-of-the-art for most of the 1.34.x lifetime; so perhaps your chances are better. > The openVRML has only project file for only VC 9.0. Which is officialy not > supported yet by boost. > The boost 1.35 (and 1.34.1) has configuration up to VC 8.0 and it works well > with these compilers. Well, apparently 1.35 doesn't work *that* well with VC 8.0, because you've found a problem. > It seams there is a conflict between the boost and the openVRML compiler > usage. I have never seen the problem you're reporting when compiling OpenVRML 0.17.6 with VC 9.0 and Boost 1.35.0. That (and the fact that the error messages you're showing point to Boost code) leads me to conclude that the problem is an incompatibility between Boost 1.35.0 and VC 8.0 that OpenVRML's usage is triggering. I can't promise you that Boost 1.34.1 will work; but I don't have any better suggestions at the moment. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: Z. T. <to...@gm...> - 2008-07-23 11:05:42
|
What would change if I use 1.34.1 instead of 1.35? The openVRML has only project file for only VC 9.0. Which is officialy not supported yet by boost. The boost 1.35 (and 1.34.1) has configuration up to VC 8.0 and it works well with these compilers. It seams there is a conflict between the boost and the openVRML compiler usage. |
From: Braden M. <br...@en...> - 2008-07-23 09:28:43
|
On Wed, 2008-07-23 at 12:31 +0400, Murashov Gleb wrote: > Hi. > > Could you tell me, please, how function > openvrml::node_type::create_node() is supposed to be used? > I'm asking, because I'm little bit confused that one get shared_ptr< > scope > as parameter and openvrml::node use shared_ptr inside, but > node::scope() and scene::root_scope() return scope& and scope*. > Is it bug? No. Nodes participate in ownership of scopes. There's not a reason to propagate ownership of scopes to other types of objects. node_type::create_node is a rather low-level operation from OpenVRML's perspective. That is not to say that you shouldn't be using it; just be aware that browser::create_vrml_from_stream may be an appropriate alternative. > Another question: everywhere, working with object openvrml::node, > intrusive_ptr is used, but openvrml::scope::find_node() returns > openvrml::node*. Although in this case safe work is possible, I think > that it is not in right way. You can safely construct an intrusive_ptr from a raw pointer whenever you need to create an owning pointer. (Notwithstanding, of course, the potential to create ownership cycles--which you are responsible for avoiding/accommodating.) -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |
From: Braden M. <br...@en...> - 2008-07-23 09:17:40
|
On Wed, 2008-07-23 at 10:32 +0200, Zoltán Török wrote: > 2008/7/22 Braden McDaniel <br...@en...>: > > > > > I'm reasonably certain the service pack doesn't change the API. It does > > fix compiler bugs. Expecting Boost 1.35 (or most any other C++ code > > released subsequently to it) to work without it is unreasonable. > > > > I made a clean and fresh VS 2005 install in a VMWare virtual machine (XP > SP2). > The VS 2005 SP installed also so the compiler is up-to-date. > > The 'w:\apis\boost\1.35\boost\optional\optional.hpp(302) : error C2061: > syntax error : identifier 'm_storage' > still appears on (see the original post) > > static const boost::spirit::functor_parser< > mftype_parser< > boost::spirit::functor_parser<openvrml::color_parser> > > > mfcolor_p; > > I commented out all color_parser related code. > Then the error appears on > > static const boost::spirit::functor_parser< > mftype_parser< > boost::spirit::real_parser< > float, > boost::spirit::real_parser_policies<float> > > > > mffloat_p; > > It seams I couldn't use the openVRML with VS 2005 (VC 8). These appear to be problems with that compiler and Boost 1.35.0 that OpenVRML happens to be triggering. I suggest you try Boost 1.34.1. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |