Java-Gaming.org Hi !
 Featured games (83) games approved by the League of Dukes Games in Showcase (581) Games in Android Showcase (162) games submitted by our members Games in WIP (632) games currently in development
 News: Read the Java Gaming Resources, or peek at the official Java tutorials
Pages: [1]
 ignore  |  Print
 Cylindrical hole in a cuboid?  (Read 2505 times) 0 Members and 1 Guest are viewing this topic.
tillibert

Junior Newbie

 « Posted 2011-11-18 17:41:24 »

Hi all,
I've experimented a bit with JOGL 1.0, now I would like to take it a step further. A simple question, but I found no answer on the internet:
How would I bore a cylindrical hole into a cuboid? I've tried intersecting a cylinder with a solid box, but then of course the cylinder is invisible because it doesn't create a hole. I was successful in creating a square-shaped hole using tessellation (glu.gluTessVertex()), but that's easy because there are only 4 vertices on either side of the box. I'm missing a method like glu.gluTessCircle()... Probably I need a deeper understanding of the API here, anyway I would very much appreciate if someone could give me a hint. Thanks!
theagentd

« JGO Bitwise Duke »

Medals: 445
Projects: 2
Exp: 8 years

 « Reply #1 - Posted 2011-11-18 18:00:46 »

Generate the geometry or use the stencil buffer.

Myomyomyo.
tillibert

Junior Newbie

 « Reply #2 - Posted 2011-11-19 10:18:39 »

Using the stencil buffer would make everything in that area black (or another color), right? I would like to see the inner side of the hole, so it seems to me the only solution is generating the geometry. Quite a bit of work for such a simple effect...
theagentd

« JGO Bitwise Duke »

Medals: 445
Projects: 2
Exp: 8 years

 « Reply #3 - Posted 2011-11-19 12:17:41 »

It should still be possible to do with the stencil buffer, but I wouldn't say that it's a simple effect. Let me think a bit...

To generate the data yourself, do an intersection test with the cylinder for every triangle in the object and tessellate the ones that intersect. You'll have to google the math to do this though, as I can't help you here... T_T

Myomyomyo.
tillibert

Junior Newbie

 « Reply #4 - Posted 2011-11-20 15:59:45 »

Thanks theagentd, finally I've been successful. I generated the geometry, both for the circles on either side of the block and the inside walls of the hole. Took me quite a bit of work, especially calculating the normals.
theagentd

« JGO Bitwise Duke »

Medals: 445
Projects: 2
Exp: 8 years

 « Reply #5 - Posted 2011-11-20 18:34:50 »

Nice! Sounds like it was really hard to implement, but generating the geometry is probably the best way of doing it.

Myomyomyo.
Pages: [1]
 ignore  |  Print

You cannot reply to this message, because it is very, very old.

 MrMapcom (20 views) 2015-05-23 20:26:16 MrMapcom (26 views) 2015-05-23 20:23:34 Waterwolf (32 views) 2015-05-20 15:01:45 chrislo27 (40 views) 2015-05-20 03:42:21 BurntPizza (73 views) 2015-05-10 15:53:18 FrozenShade (57 views) 2015-05-07 09:11:21 TheLopais (222 views) 2015-05-06 13:36:48 TheLopais (203 views) 2015-05-06 13:35:14 TheLopais (208 views) 2015-05-06 13:33:39 TheLopais (230 views) 2015-05-06 13:32:48
 Spasi 32x Riven 16x Drenius 15x BurntPizza 15x ra4king 13x theagentd 13x Rayvolution 11x DavidBVal 11x Husk 11x EgonOlsen 11x princec 11x opiop65 9x KevinWorkman 9x orangepascal 8x scanevaro 8x SauronWatchesYou 7x
 List of Learning Resources2015-05-05 10:20:32How to: JGO Wikiby Mac702015-02-17 20:56:162D Dynamic Lighting2015-01-01 20:25:42How do I start Java Game Development?by gouessej2014-12-27 19:41:21Resources for WIP gamesby kpars2014-12-18 10:26:14Understanding relations between setOrigin, setScale and setPosition in libGdx2014-10-09 22:35:00Definite guide to supporting multiple device resolutions on Android (2014)2014-10-02 22:36:02List of Learning Resources2014-08-16 10:40:00
 java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org