# Marius

Member

243

100 Neutral

• Rank
Member
1. ## Beveling a BSP For dynamic plane shifting

Beveling!!!. About thet elypse I have the same feeling. Is much more heavy than plane shifting. I also find a nice algorithm on the genesis source code As a dirty and fast solution using polygons... (I am still thinking about using planes !!! but here is what I came up with) -For any given polygon test all neighbours (having common edge) -If the normals are more than 90+epsilon apart they sharp. (good for beveling) -Build a new virtual polygon from ((morm1+morm2)/2) with an areea covering the 2 tested polygons right on the common edge. Shift the polygon back into the sharp edge by a predefind offset proportional to your map (2 feets). -Remove the 2 polys from the soup (BSP input). -Cut the 2 polys with the new polygon's plane and add the front resulting fragments to a new detail (just rendering them there) and back framgent back to the soup. -Cut the new shifted polygon with th 2 initial polygons's planes and discard the fragmens ending up in the walking area (empty). Add the new polygon to the polygon soup. Build the BSP from the soup. Link somehow the details (original shap edge) to be rendered when the leaf they fall into is rendered.
2. ## Beveling a BSP For dynamic plane shifting

I implementd the collision after a while and I think I did it correct... base on the Stan's fuzzy-document. I used a map with no sharp edges. >=90 I build a simple map on where the midwalls are sitting on the same plane (C & G). Then suddenlly I could not pass the 'cyan zone' `couse you end up behind all planes from the leaf you are in. Consider Blue to Red ( B -> R) movement. Partitioning R on 'C-bsp-root' plane+-(shift-dist) you go front and back.On front of C-root you are on front of all shifter planes(F,E,D) you can move. On the back of C-bsp-root(Left from root)you are on front of G shifted back, then you test (BAH) and you can still move. Then you test on back of G shifted forward and you hit a solid space. So If I shift the mid-walls apart by the thikness of shifting everithing is ok. I said OK I can get rid of this at design time than I build a stair with some steps. The algorithm failed there as well. Now I am about to implement the elipse BSP collision and leave Stan away, here
3. ## Multicast

NO multicats is not possible over internet.
4. ## For help.

Read some before coding. LPTSTR * is TCHAR** class YourDamnFrame { ... char Name[256]; // delete this BSTR Name; // add this; TCHAR* Name; or this; };
5. ## How do you handle mapping keys to names

Key mapping: struct UIInputMap { int keyAction; // move up side down fire int dikKey; // key code SCAN code or DInput code TCHAR name[16]; }; Maped keys UIInputMap mykeys[] = { {1,VK_UP, "Move Up"}, {2,VK_DOWN, "Move Down"}, {3,VK_SPACE, "Fire"}, {0,0,0} } You can remap as user wants just by replacing 'dikKey' to another keydown for a name. And handling something like: UIInputMap* p = mykeys; while(p->keyAction) { if(GetAsyncKeyState(p->dikKey)&0x800) { GameAction(p->keyAction); } ++p; } void GameAction(int action) { switch(action) { case 1: player.position+=camera.forward*speed; break; case 3: player.Shoot(); }
6. ## Another problem with the goddamn pointers

Are you sure that your pointers are screwed after GetMessage() because make no sense. I would suspect they go away after DispatchMessage(&msg); because from DispatchMessage(&msg); you get your WindowProcedure called. It seems while you process some message WM_* window message you delete a pointer to a node but the array still holds the dagling pointer value. You may place a breakpoint in INode destructor when your execution flow is stopped befor GetMessage. Then step over GetMessage and DispatchMessage see if 'who' is deleting the node. When the node is deleted remove as well the array location or null it out (unused array locations are not nulled out as I can see). Then you can render all non-null pointers while for-ing for all array elements.
7. ## Active X

I wrapped around MOGE engine an active X X-gbt and works just fine. I spent couple o hours dropping the processor time from 98% to less 2% inside IE. On Mozilla browser having 'activeX for mozilla' I did not have the timing problem. Next... I want to warp around it the NIS plugin for netscape using 'gecko-sdk'. I cold not found a simple plugable sample using getko that embeds a window inside the mozilla browser and start build on it. If you have any ideea except the boring 'gecko-sdk' documentation please help me out. Thank you.
8. ## Open GL based Active X

There are not too many Open-GL based active X controls that renders realtime a scene on a browser. I decided to wrap around MOGE Engine code an active X. I spent couple of hours dropping the processor usage inside IE from 98% to less than 2%. The only availbale level from levels list in the online demo is only: default.ml Read more at: ENGINE See a live Demo at: X-GBT Download source code from: C++ Marius. PS. If you see a banner up here in this page saying replace RedHat with Solaris DONT DO IT. It sucks so bad and there a no drivers around. Stick with Redhat. Is slow but it rocks...

Getic 3D

11. ## Web Bots

http://directory.fsf.org/network/tools/larbin.html
12. ## Melax BSP Shifting planes

Did anyone successfully implemented Melax collision http://www.melax.com/bsp/ that works in an environment as shown ? I have implemented and in this scenario the sphere is stuck couse ends up on back Of C' (C shiftet on front) and on back of G' (G shifted on front). If I let in the second test from Melax Paper 'else same as above but in the other direction' I can cross the nasty cyan zone but I also can get behind G and F faces. walking down and behind C and B walking up. Thank you.
13. ## Melax BSP collision !!??

Problem solved. [Edited by - Marius on October 3, 2006 4:28:00 PM]
14. ## BSP collision 'Melax'

Moved to theory... [Edited by - Marius on October 2, 2006 10:08:26 PM]
15. ## Getic / Moge 2.03 is out

I dont know where else to ad. it. Getic 3D and MOGE Engine has been updated to version 2.03 respective glimpse-2