Java-Gaming.org Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (808)
Games in Android Showcase (239)
games submitted by our members
Games in WIP (872)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2
  ignore  |  Print  
  Culling faces  (Read 18694 times)
0 Members and 1 Guest are viewing this topic.
Offline Hydroque

JGO Coder


Medals: 25
Exp: 5 years


I'm always inspiring a good time.


« Posted 2016-03-07 10:05:42 »

So I'm debating this right now. Should I let OpenGL let its magic choose what face to cull, or should I use the normal to calculate if a face should be drawn.

Vertex Shader:
1  
2  
3  
4  
5  
6  
7  
8  
   out bool shouldDraw;
   
   void main(void) {
      vec3 fdx = dFdx(pass_position);
      vec3 fdy = dFdy(pass_position);
      vec3 faceNormal = normalize(cross(fdx,fdy));
      shouldDraw = dot(pass_surfaceNormal, faceNormal) > 0.0 // backface
   }


and discard; any pixels with shouldDraw be to true

or

1  
2  
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glCulLFace(GL11.GL_BACK);


I find it awarding doing the first one because you can control cull settings in the shader when you have a transparent object. But there might be this large overhead due to me not knowing if OpenGL does some per-frame lengthy determination which might be true because of how it renders.

You think I haven't been monitoring the chat? http://pastebin.java-gaming.org/c47d35366491fHere is a compilation <3
Offline KaiHH

JGO Kernel


Medals: 820



« Reply #1 - Posted 2016-03-07 10:35:02 »

It is not "magic" what OpenGL is doing with backface culling. Read the OpenGL specification.
Also, your test would be per fragment with "support/helper" fragment shader invocations to compute the differentials (also read the OpenGL specification) and is very very very very much more expensive than the per-primitive test that OpenGL's shader (non-programmable) does internally.

Quote
I find it awarding doing the first one because you can control cull settings in the shader when you have a transparent object.
Separate the drawcalls for solid objects from the ones that are transparent.

So: Definitely and absolutely by all means use OpenGL's default backface culling method instead of rolling your own backface culling method!

Culling entire "objects" is of course an entire different topic (see "frustum culling" or "occlusion culling" for examples).
Offline Hydroque

JGO Coder


Medals: 25
Exp: 5 years


I'm always inspiring a good time.


« Reply #2 - Posted 2016-03-07 14:22:04 »

I wonder why nobody ever gets what I mean. They are so quick to attack.

You think I haven't been monitoring the chat? http://pastebin.java-gaming.org/c47d35366491fHere is a compilation <3
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Opiop
« Reply #3 - Posted 2016-03-07 15:37:09 »

No one is attacking you. And if you think people are, maybe you should look at the root of the problem instead of throwing blame on everyone else automatically.
Offline boxsmith
« Reply #4 - Posted 2016-03-07 16:19:16 »

You should definitely not implement backface culling in a shader. I don't know how else you wanted readers to interpret your post.
Offline theagentd
« Reply #5 - Posted 2016-03-07 16:38:26 »

You should definitely not implement backface culling in a shader. I don't know how else you wanted readers to interpret your post.
The only time when backface culling should be done manually in a shader is when doing tessellation to avoid tessellating back faces.

EDIT: The same logic applies if you have an expensive geometry shader you can early out from, but if you have an expensive geometry shader you're probably doing something else wrong anyway. Otherwise it's rarely ever worth it.

Myomyomyo.
Offline Riven
Administrator

« JGO Overlord »


Medals: 1371
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #6 - Posted 2016-03-07 18:52:36 »

I wonder why nobody ever gets what I mean. They are so quick to attack.
What'd be the odds for everybody to attack an arbitrary new member... We luv new brainzz. Pointing

You seem to have been a touch confrontational the last few days though, and deeply empathics beings that we are, it leaves its mark in our otherwise wonderful responses. It takes two to tango Smiley

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings!
Offline Hydroque

JGO Coder


Medals: 25
Exp: 5 years


I'm always inspiring a good time.


« Reply #7 - Posted 2016-03-07 19:19:39 »

I think you are overplaying a lot of the members here. Through my learning process, I have no been supported once and told to just get things or just conform to standards. I've told one person I wouldn't fight with them because they are arguing semantics over the actual topic. I'd myself give criticism and feedback to the games displayed in the case, saying good job, but the internet shows the spiteful people.

A good example is KaiHH. I asked him for help and he just called me annoying even though I've only talked to him once there. 'Just get JMOL you don't need to understand the backgrounds of what is happening.' It annoys me.

Another reason why we need more devoted people to tutorials and such rather than picking from everyone's crappy attempts. LWJGL is nice, but then again 'Just get Vulkan you don't need to understand the backgrounds of what is happening, well you want to start with OpenGL first.'

And me saying I don't understand something is just an invitation for other people I am then claiming to attack the people.


You think I haven't been monitoring the chat? http://pastebin.java-gaming.org/c47d35366491fHere is a compilation <3
Offline KaiHH

JGO Kernel


Medals: 820



« Reply #8 - Posted 2016-03-07 19:32:57 »

A good example is KaiHH. I asked him for help and he just called me annoying even though I've only talked to him once there. 'Just get JMOL you don't need to understand the backgrounds of what is happening.' It annoys me.
You did a whole lot more than just asking for help. In the PM you sent me and before that.
I will not replay here what you called me in a PM you sent...... seriously, man. Pull yourself together!
And when you want to replay what I wrote you, then do it verbatim, and not saying, I told you wouldn't understand it.
Offline Riven
Administrator

« JGO Overlord »


Medals: 1371
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #9 - Posted 2016-03-07 19:47:01 »

Let's say that, for the sake of argument, 'culling faces' is still an appropriate title for the discussion Smiley

Your last reply exactly shows what I meant with your being confrontational. We hardly ever spoke, but you're addressing me like we have this sour history together. JGO is one of the most welcoming Java dev communities you'll find, but it simply might not match your style, it happens.

There are some experts in their fields here - ofcourse everybody is a stranger to you, we get that - these experts tend to speak with a certain flair... of authority, which seems to rub you the wrong way. What may rub us the wrong way is that you open a topic stating (almost demanding) we need more tutorials in the area you happen to need more information on, that we need more of an community effort on these topics, while you are ditching quite a few of these community efforts in the same breath. People put years of their lives into it, for the greater good, and you merely discard them as making you almost vomit, and again, in the same breath, mentioning you cannot get your own crafty solution to work. These are conflicting messages you are sending, and not very friendly at that.

We are not as lenient as we could be, but just like you, we're not perfect. Emo

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings!
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline thedanisaur

JGO Knight


Medals: 59



« Reply #10 - Posted 2016-03-07 19:57:22 »

told to just get things or just conform to standards.

Conforming to standards is nothing new and a great idea when you're starting out. I think we all fight it starting out to some extent, but there really is no reason to manually implement backface culling (other than what theagentd said). If you want to, go for it. There's a reason openGL does it based off rotation order of vertices though...it's efficient.

As for being told to use JOML. The more people that use it the better for all of us and honestly converting my engine JOML is one of the best decisions I've made for it. Sure there are things I don't like out of personal preference, but everything I need and will need  Pointing is there and I didn't have to spend the time adding any new functionality (it really is a pain building your own math library after a while).

Every village needs an idiot Cool
Offline Opiop
« Reply #11 - Posted 2016-03-07 20:12:59 »

Adding onto what everyone has said, utilizing knowledge from others is a huge thing everyone should be comfortable with. People spend their entire lives researching and working in some of these fields, that is some incredibly valuable information they have. Saying screw it, I won't use it does not mean you are "conforming". It means you are leveraging the resources available to you in a smart fashion. At work I would love it if I could just use pre-made libraries/solutions for most of our systems because that means less code that I have to actively develop and maintain. I already have enough on my plate, why would I want to take it upon myself to re-invent the wheel when someone has already went out of their way to provide everyone with a good solution already?

Like thedanisaur said, there definitely seems to a trend of new developers wanting to re-invent everything. I went through it, and honestly I learned a lot but none of the information I learned really went to good use. I tried on multiple occasions to create a graphics library to base my games off of; it went terribly each time because it's hard stuff to get right. The stuff I learned was cool, but I don't use any of it now. I could have had a game made with LibGDX or some other graphics library if I had just decided to utilize what's available to me. But being a newbie, I was very headstrong.

There just comes a point where you realize no one cares what you used to create the end result, so long as it's functional and conforms to their wants/needs. The only person who will care what standards were used to produce the application is you, and why would you want more work for the same profit? Maintaining efficiency while still outputting high quality work is key, and paramount, in any work you'll do in life. It's a good idea to start hammering that into your head so you understand when to take a step back and re-think your solution.
Offline theagentd
« Reply #12 - Posted 2016-03-07 23:55:46 »

My 2 cents on standards:

Something I try to keep in mind is to minimize how customized and "personal" my code formatting and my IDE is. There are people who when they started programming they immediately started to customize their IDE to make the code formatting look how they personally prefer, moved around menus, etc. By the time they've become decent programmers, their formatting has so many quirks and their IDE is such a Frankenstein that other (even very good programmers) have trouble understanding their code at first. Setting up the project environment in the IDE is a nightmare due to all the finicky settings they changed. Moving to a new computer or updating their IDE breaks everything and not even the person him/herself can remember all the settings they changed. This can be a huge problem when you try to read other people's code as you're not used to their formatting/style. Working with others become difficult due to the clashing styles, so debugging is more difficult. Hell, any kind of communication with other people involving code becomes more difficult because you're essentially coding in this homemade dialect. This is especially important if you have intentions to work with programming. At work your personal preferences don't matter. It's much more important to adhere to the style of the existing code, no matter how weird it is to you, for the sake of maintainability and coherence. Also, the less quirks you have the easier it is to switch workstations.

The same goes to some extent for JOML. JOML was born and designed to solve the problems of previous math libraries, and it did so splendidly. Compared to LibGDX/LWJGL/others, it has: no garbage, no native dependencies, tiny library, better performance, double precision versions of classes and more features in general. There really isn't much you can improve in it anymore, but if there is KaiHH is very accommodating and helpful with answering requests and spitballing ideas. You're welcome to write your own math library for the learning experience; I was pretty much doing that myself before JOML came around. Saying that "JOML solves your problems already" may not be immediately helpful, but the JOML source is right there and available to anyone. I'm not sure what exactly you were asking about, so this may not be a spot-on response to what you were annoyed about. The tie-in here with standards is that the more people that use JOML the more mature the project will get as any remaining bugs will be fixed and quirks evened out. The "standard" here is beneficial to pretty much everyone, as it also lets us help each other more easily. It's true that it means that a lot of people can use these classes without knowing the gory details of linear algebra and perspective projection math though, but if learning that is your main goal then maybe a Java game development forum is no the best place to ask in the first place.

To expand on my response to the topic at hand, face culling: Your technique may be more flexible, but also affects performance negatively. Face culling is generally implemented in hardware and only depends on the winding of the vertices after projection. A backface polygon therefore only has to go through the vertex shader (and geometry shader if you have one), and is then immediately discarded. Pretty much all hardware can enable face culling without any overhead whatsoever since it's handled in fixed-functionality hardware that would simply be disabled if the feature is disabled. In contrast, your discard-based solution makes all triangles go through the rasterizer and finally runs a fragment shader for each of the pixels. In addition, fragment shaders that call discard() interferes with other hardware-based optimizations, semi-disabling early depth/stencil testing and hierarchical depth buffers used most discrete graphics cards.

Myomyomyo.
Offline delt0r

JGO Wizard


Medals: 145
Exp: 18 years


Computers can do that?


« Reply #13 - Posted 2016-03-08 02:19:20 »

Well i just have to post now.

We get soo many new people every week that wants to make the next minecraft only bigger and better.. But by the way i don't know any math and don't want to learn any, I have never done any real code and well i wanted this finished last week before the end of the holidays. Why are you telling me i not do a great job? Ok so it seems to have slowed down these days thank god.

We get sick of it well you may get the shorter end of that deal. Having said that they are not attacking. Don't assume you almost got it right. Trust me, old ra4king went through a much harder roasting.. I think he even got banned from the irc and one point. But he came around and started to follow instructions and advice. And now he helps others.

As for face culling, you really never need to do that. These days i find it hard to be vertex limited, so let the shaders do it. If all 3 vertex give a negative normal, fragments are not even produced. Making it real fast.

I have no special talents. I am only passionately curious.--Albert Einstein
Offline phu004

JGO Knight


Medals: 19
Projects: 10
Exp: 10 years


NoSuchPersonException


« Reply #14 - Posted 2016-03-08 03:08:51 »

Quote
I find it awarding doing the first one because you can control cull settings in the shader when you have a transparent object. But there might be this large overhead due to me not knowing if OpenGL does some per-frame lengthy determination which might be true because of how it renders.

I think you will feel much more rewarding writing a software renderer, where you have control of every piece of code in your rendering pipline.
Offline Archive
« Reply #15 - Posted 2016-03-08 03:36:08 »

Quote
I find it awarding doing the first one because you can control cull settings in the shader when you have a transparent object. But there might be this large overhead due to me not knowing if OpenGL does some per-frame lengthy determination which might be true because of how it renders.

I think you will feel much more rewarding writing a software renderer, where you have control of every piece of code in your rendering pipline.
This^ is one of the main reasons why I haven't started openGL yet. I like the control I have over the graphics in software rendering.

Offline Hydroque

JGO Coder


Medals: 25
Exp: 5 years


I'm always inspiring a good time.


« Reply #16 - Posted 2016-03-08 10:22:35 »

Look, I know how opengl determines which face is facing where and has good ability to prevent that face from rendering, but this was just a very tired hmm kind of thing.

You think I haven't been monitoring the chat? http://pastebin.java-gaming.org/c47d35366491fHere is a compilation <3
Offline ra4king

JGO Kernel


Medals: 508
Projects: 3
Exp: 5 years


I'm the King!


« Reply #17 - Posted 2016-03-08 23:45:16 »

Trust me, old ra4king went through a much harder roasting.. I think he even got banned from the irc and one point. But he came around and started to follow instructions and advice. And now he helps others.
What in the hell are you talking about?

Hydroque went through this, he came to the #java-gaming channel, was just about as aggressive and confrontational as I'm seeing him here on this forum, blamed us for being alienating, then left and never came back.

Offline theagentd
« Reply #18 - Posted 2016-03-09 03:55:33 »

Trust me, old ra4king went through a much harder roasting.. I think he even got banned from the irc and one point. But he came around and started to follow instructions and advice. And now he helps others.
What in the hell are you talking about?
Indeed, I was like "Ra can be unfriendly? o_O"...

Myomyomyo.
Offline Coldstream24

JGO Ninja


Medals: 82
Projects: 1
Exp: 4 years


You can fill that void inside with programming, but you'll never return a value.


« Reply #19 - Posted 2016-03-09 04:01:48 »

guys this thread is scaring me

My website: http://www.onedropgames.com/
My soundcloud: http://www.soundcloud.com/coldstream24
Creator of the Morningside Engine, co-founder of Onedrop Games.
Offline Riven
Administrator

« JGO Overlord »


Medals: 1371
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #20 - Posted 2016-03-09 08:56:06 »

Trust me, old ra4king went through a much harder roasting.. I think he even got banned from the irc and one point. But he came around and started to follow instructions and advice. And now he helps others.
What in the hell are you talking about?

Hydroque went through this, he came to the #java-gaming channel, was just about as aggressive and confrontational as I'm seeing him here on this forum, blamed us for being alienating, then left and never came back.
I'm fairly sure delt0r was refering to something that happened at least 7 or 8 years ago in #lwjgl. Those were the days ^_^

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings!
Offline Hydroque

JGO Coder


Medals: 25
Exp: 5 years


I'm always inspiring a good time.


« Reply #21 - Posted 2016-03-09 22:08:41 »

Quote
seeing him here on this forum, blamed us for being alienating, then left and never came back.
No it was not.

You think I haven't been monitoring the chat? http://pastebin.java-gaming.org/c47d35366491fHere is a compilation <3
Offline Riven
Administrator

« JGO Overlord »


Medals: 1371
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #22 - Posted 2016-03-09 22:23:43 »

Surely there is a better way to make your point than to say somebody is incorrect. I know I'm not the go-to guy on these matters, but working on your social skills may be worth your while  - especially if you continue to find yourself wondering why everyone is 'attacking you for no reason'. You're giving off a negative vibe that is hard to shrug off.

I struggle with such issues myself, and at least acknowledging it and trying not to respond too quickly with some snarky remark, but simply not taking your first interpretation as an absolute truth. My initial interpretation on social matters is usually kinda skewed, bonkers, even. Rereading what others said, trying to imagine somebody wrote it with the best intentions, seems to help. Give it a try - starting with this message Smiley

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings!
Offline Hydroque

JGO Coder


Medals: 25
Exp: 5 years


I'm always inspiring a good time.


« Reply #23 - Posted 2016-03-09 22:37:10 »

I can't prove anything and they can't prove anything. There was nothing else to say.

The internet is emotionless and I am dealing with everyone who assumes any emotion or meaning.
If I were to attack someone over the internet, I would call myself stupid.
If I were to try to make sarcasm over the internet, I would call myself stupid. (Unless message saying *sarcasm* ya kno)

And I follow the rule of: If you don't like it leave.
Things don't bother me that much, but since everyone for some reason (anywhere I go) assumes I am a retard and are out to get me. It's like I must demonstrate everything I am worth in order to say stuff, when all actuality nobody cares Pointing

You think I haven't been monitoring the chat? http://pastebin.java-gaming.org/c47d35366491fHere is a compilation <3
Offline Opiop
« Reply #24 - Posted 2016-03-09 22:39:58 »

Maybe don't be so provocative? Honestly, and don't take offense to this, you seem like you're pretty headstrong and are not going to really listen to anyone here. This is just a forum, and we are just trying to give you information. There's nothing deep about it, and you don't need to be "accepted". If you think you need to prove something to strangers you'll never meet then I think you need to take a look at yourself and how you're communicating with others. It seems like all the discussions on this site with you in them end up like this, again don't take offense to that. Just an observation.
Offline Riven
Administrator

« JGO Overlord »


Medals: 1371
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #25 - Posted 2016-03-09 23:12:23 »

And I follow the rule of: If you don't like it leave.
This is an anti-social stance that will get you nowhere in life.
You can do as you please, but don't bother us with this particular mindset.

Things don't bother me that much, but since everyone for some reason (anywhere I go) assumes I am a retard and are out to get me. It's like I must demonstrate everything I am worth in order to say stuff, when all actuality nobody cares Pointing
Being friendly is usually all there is to it. With the added bonus that people will actually care.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings!
Offline KaiHH

JGO Kernel


Medals: 820



« Reply #26 - Posted 2016-03-09 23:15:08 »

One question: Why should you behave on a forum like JGO different than how you would in real life regarding whether and how much you respect and appreciate people?
I think no one can do that separation. And how you behave in real life affects how you behave "on the internet" and the other way around. Everything is connected and affects everything else, always and everywhere. Smiley
So, if you actually got that dull regarding social reactions, which simply are part of everyone, then you must have had some pretty rough experiences in your life.
I think Riven's footer says everything: appreciate more people.
There is much to it. And appreciating and respecting people will get you further in life. You will make more acquaintance with people who help you and you help them.
Simply care about people, who they are and what they do. You will receive that ten-fold back.
If you continue acting in the provocative way (which now I believe you really don't do on purpose) then you will not care about people and people will not care about it.
Offline Hydroque

JGO Coder


Medals: 25
Exp: 5 years


I'm always inspiring a good time.


« Reply #27 - Posted 2016-03-09 23:25:33 »

Ooh sweet. Time to rant about my life.

I grew up not being loved and was payed particularly no interest to. I had no friends, only bullies, throughout my middleschool career and didn't do anything school wise. In 5th grade I did absolutely nothing, but that wasn't entirely my fault. I blame this on a group black kids (not because of being black) that eventually made these kids cry.

So I went into highschool antisocial as ever. I go to a project based learning school. I have gotten better at speaking and we present almost weekly with powerpoints or other material. In my junior year it got better, but still no friends, only acquaintances, and nobody would talk to me without me talking to them. As I went on to my senior year, after my years of being bashed by seeing everyone I liked (because I literally had no chance) 2/3 into the way I realized genders are nothing and I haven't had any social interaction which I loved. I never felt love and I grew to cherish the f**k out of people when any sort of good happened toward me. I am the guy who holds doors open for people. I am the guy who loves everyone, hates the idiots (redneck farmer a-holes, etc). I am the guy who will lend you lunch money. I make everyone laugh with jokes and keep positive vibes for other people.

I definitely don't have a social problem, but I have a loneliness problem.

And to top everything off I was gay during the 2/3 period.

To be emotionless on the forum trumps all needs of people just saying k. I am not going to facilitate any emotion into any post that makes people sad. I say it how it is. I don't feel the need to be all like...

Hi JGO I love you guys!

Hey I ran into a problem....

And I guess from all the crap I've went through my life, I deserve a break sometime ._.

You think I haven't been monitoring the chat? http://pastebin.java-gaming.org/c47d35366491fHere is a compilation <3
Offline delt0r

JGO Wizard


Medals: 145
Exp: 18 years


Computers can do that?


« Reply #28 - Posted 2016-03-10 00:09:04 »

Trust me, old ra4king went through a much harder roasting.. I think he even got banned from the irc and one point. But he came around and started to follow instructions and advice. And now he helps others.
What in the hell are you talking about?
don't want to derail things any more. But i remember distinctly have a private IRC chat with you about the whole thing, i probably still have the logs Wink. There was some other guy who was doing the same thing. He ended up permanently banned.

Oh yea Riven is right. It was about 7 or 8 years ago. I am an old bastard.

I have no special talents. I am only passionately curious.--Albert Einstein
Offline HeroesGraveDev

JGO Kernel


Medals: 383
Projects: 11
Exp: 4 years


┬─┬ノ(ಠ_ಠノ)(╯°□°)╯︵ ┻━┻


« Reply #29 - Posted 2016-03-10 01:49:53 »

I can't prove anything and they can't prove anything. There was nothing else to say.

The internet is emotionless and I am dealing with everyone who assumes any emotion or meaning.
If I were to attack someone over the internet, I would call myself stupid.
If I were to try to make sarcasm over the internet, I would call myself stupid. (Unless message saying *sarcasm* ya kno)

I've been holding back on posting this for a while now, but I guess it seems appropriate.
I happen to have saved the ending of our little discussion on IRC, mostly because of how amusing it was, but also if I ever needed to refer back to it in a time like this.

Maybe I can't prove anything, but everyone can decide for themselves.
For those with nothing better to do with their lives, here's how our discussion ended: http://pastebin.com/r0HdQAaD

Pages: [1] 2
  ignore  |  Print  
 
 

 
Riven (847 views)
2019-09-04 15:33:17

hadezbladez (5791 views)
2018-11-16 13:46:03

hadezbladez (2603 views)
2018-11-16 13:41:33

hadezbladez (6207 views)
2018-11-16 13:35:35

hadezbladez (1499 views)
2018-11-16 13:32:03

EgonOlsen (4734 views)
2018-06-10 19:43:48

EgonOlsen (5792 views)
2018-06-10 19:43:44

EgonOlsen (3276 views)
2018-06-10 19:43:20

DesertCoockie (4175 views)
2018-05-13 18:23:11

nelsongames (5501 views)
2018-04-24 18:15:36
A NON-ideal modular configuration for Eclipse with JavaFX
by philfrei
2019-12-19 19:35:12

Java Gaming Resources
by philfrei
2019-05-14 16:15:13

Deployment and Packaging
by philfrei
2019-05-08 15:15:36

Deployment and Packaging
by philfrei
2019-05-08 15:13:34

Deployment and Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08
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
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!