This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »
436
Off-Topic / Re: Good places to learn OpenGL
« on: October 01, 2014, 01:33:04 pm »
There just no need for it in GL. VBO's are supported since 2003. We don't need to support Amiga in our GL3.3 rendering engine. If you want ancient hardware (and I mean ancient, not old, old hardware even supports GL3). There is 0 need for software vertex processing. It's the most useless feature ever, as you wouldn't be able to render more than 50k vertices (that is probably a stretch too).
437
Off-Topic / Re: Good places to learn OpenGL
« on: October 01, 2014, 05:57:16 am »Quote
Actually Harri, I don't think you have to use VBO's. I would like you to find out, since you have the means of doing so I don't actually know how you find out which functions are which core, if vertex arrays like we use in GL1 for models can be used in newer GL cores. Do you know if they can or not? I think they can because they can also interface with vertex attribute arrays and shaders. They are immensely easier to use than VBO's.They are not available in GL3. Only VBO's are supported. There is no glEnableClientState or glVertexPointer functions in GL3.3. There are several ways to see what is deprecated and what isn't. One is during runtime by setting the core context. It's done in my GL3.3Fix branch, where it actually trows an error if something deprecated is called. Second way is to search for the function in the docs, both official https://www.opengl.org/sdk/docs/man3/ or this http://docs.gl/gl3/glEnableClientState . The second site is awesome because you can choose the version of GL in the left panel, and then see what functions are unavailable (grayed out).
Quote
Edit: From what I gather vertex array's are usable in GLES.Vertex array objects (VAO) is not the same as a vertex array (GL_VERTEX_ARRAY). VAO don't hold vertex data, it holds the description about that data. It's actually required in GL3.3 Core. That is why it didn't render anything previously on my GL3.3 branch, because we didn't create a VAO for the mesh.
https://www.khronos.org/registry/gles/extensions/OES/OES_vertex_array_object.txt
438
Off-Topic / Re: Good places to learn OpenGL
« on: October 01, 2014, 04:28:09 am »
That code is what is called "Immediate mode". It's <GL3 and is now deprecated. Considered slow and ugly. But it's simple. Newer GL (like our GL3.3 implementation in ENIGMA) uses Vertex Buffer Object's (VBO) and Vertex Array Objects (VAO), which makes the whole thing a lot more complicated and you need a lot more code to actually draw something. The triangle example would be something like this:
Code: (C++) [Select]
float triangle[] = {10.,10., 50.,10., 10.,50.};
GLuint VBO, VAO;
glGenBuffers( 1, &VBO);
glGenVertexArrays(1, &VAO);
//Bind the VBO and transfer our triangle data from RAM to VRAM
glBindBuffer( GL_ARRAY_BUFFER, VBO);
glBufferData( GL_ARRAY_BUFFER, sizeof(triangle), triangle, GL_STATIC_DRAW);
//This is just required so the video card knows how to interpret the data
glBindVertexArray(VAO);
glEnableVertexAttribArray(shader_att_vertex);
glVertexAttribPointer(shader_att_vertex, 2, GL_FLOAT, GL_FALSE, 2, 0);
//Actually draw the triangle
glDrawElements(GL_TRIANGLES, 6, GL_FLOAT, 0);
//Cleanup
glBindBuffer( GL_ARRAY_BUFFER, 0);
glBindVertexArray(0);
glDeleteBuffers(1, &VBO);
glDeleteVertexArrays(1, &VAO);
This is all required to draw a single triangle in GL3.3 Core Context. Additionally you have to write a pixel and vertex shader (to draw a simple triangle, they would be about 5 lines each) and add additional code to use it (like I didn't write where shader_att_vertex is from). So the newer one is a lot more complicated and usually harder to learn, but it's a lot faster. Especially if written correctly. And it allows a lot more possibilities.
439
Off-Topic / Re: Good places to learn OpenGL
« on: October 01, 2014, 02:59:42 am »
The API is the Khronos Group's published spec. There are thousands of built-in functions, which are then used to do what you want. As Rusky said, you only need special functions for context creation and some other few things. Like in fixed function pipeline you have this:
Code: (c++) [Select]
glBegin(gl_triangleList);
glVertex(10,10);
glVertex(50,10);
glVertex(10,50);
glEnd();
This will draw a triangle. Those functions are defined by OpenGL spec, and implement in all OS's. You don't need Ogre or SDL anything else to use them. ENIGMA for example doesn't use any of the wrappers. We code OpenGL from ground up and only use GLEW for extensions.
440
Off-Topic / Re: Good places to learn OpenGL
« on: September 30, 2014, 04:59:00 am »Quote
There is no SDK - how the hell do you use it thenSDK comes with Mingw and Windows itself. To have real access to functions you need to use a library like Glew (there are other alternatives too).
Quote
The SDK's out there seem to be wrappers - SDL, GLUT, etc.. So, where do you start? What is the best place to start?You take one of those wrappers and code. There are many tutorials on the internet, but they are often out of date, as versions below <GL3 were very different from newer ones (ENIGMA supports both). You can looking for some up to date tutorials here: http://www.lighthouse3d.com/ as well as youtube videos: https://www.youtube.com/watch?v=6-9XFm7XAT8#t=2591 https://www.youtube.com/watch?v=IXxc9yNBpuo. There are lot of youtube videos about opengl.
Quote
Cross platformness - what version of OpenGL do you use for this?Windows, Linux and OSX run everything from GL1 to GL4. If you want embedded devices (phones - IOS, Android or ARM PC's like Raspberry Pi) you need to use OpenGLES (ES - Embedded Systems). GLES2 is about the same as GL3.3, so they are quite compatible with one another and it should be easy to convert. If you code in GL4, then it's totally 100% compatible with the newest GLES version.
Quote
Where the hell do you start?I started with ENIGMA.
441
General ENIGMA / Re: Externalizing LateralGM
« on: September 30, 2014, 04:47:27 am »
LGM is not that big for it to remove those files internally. It would also cause problems if the user deleted them. So I think they should always be kept as backup.
442
General ENIGMA / Re: Externalizing LateralGM
« on: September 29, 2014, 12:40:06 pm »
You can go the game modding route (starting with Half-life1 or Quake2) in that you can keep your files and folders inside the .jar, but if there is a file relative to the .jar in the right position, then it overrides the default one that is inside the jar. Like imagine having this file structure (so an icon inside the jar):
lateralGM.jar
>icon
>>icon.png
Now if a person created a folder icon at the same folder where .jar is, then put the .png in it, then LGM would try loading that instead. I think this is what Ism already though, but I just wasn't sure.
And to fix the problems of people having wrong folder structure, you could in fact do what Ism suggests and add a button in LGM settings, which would create that structure, or even create the files (like "install" or "unpack").
lateralGM.jar
>icon
>>icon.png
Now if a person created a folder icon at the same folder where .jar is, then put the .png in it, then LGM would try loading that instead. I think this is what Ism already though, but I just wasn't sure.
And to fix the problems of people having wrong folder structure, you could in fact do what Ism suggests and add a button in LGM settings, which would create that structure, or even create the files (like "install" or "unpack").
443
Programming Help / Re: [Solved] Adding a new function
« on: September 29, 2014, 06:39:38 am »
I don't think GM:S prints text in hexadecimal. It could be possible GM:S shows 8 decimal digits, but ENIGMA show 12 digits. It's just a matter of taste.
444
Ideas and Design / Re: In need of a Sonic fangame engine for Enigma
« on: September 29, 2014, 04:18:33 am »
Making it yourself is often the smart option, as it will be much easier for yourself to understand it later on.
445
Developing ENIGMA / Re: git madness
« on: September 28, 2014, 04:58:03 pm »
Well, i'm fearing more about the bloat the whole thing will get. Of course deltas are compressed, and text compresses well, so it is a lot smaller. Anyway, I finally did what I wanted using revert of a revert. So I reverted the commit that reverted the first commit. I ended up with much less conflicts this way (only 3 files) and everything else seems to work fine. Now I just need to fix the original problems.
446
Developing ENIGMA / Re: git madness
« on: September 28, 2014, 12:18:27 pm »
Okay, so this is what I came up with: https://github.com/enigma-dev/enigma-dev/commits/GL3.3CleanUp
I did this:
git checkout 83dc5dcd6d7b788aa673e395489160fb27f0bcfb (which is the commit just before the revert commit)
git merge -s ours 07ac18577f5f8007ac6d5e3b5282edafdfeeed02 (here I basically skip the revert commit (choose my changes over the ones in revert), moving the HEAD forward)
git merge -s ours f969248d94c46f6d6b95e2dd4928f5def99d46b4 (here I skip the pull request for the revert, which in Git is another commit, again moving the HEAD forward)
git merge master (here I update the whole thing to newest master)
There was about 20 file conflict I had to fix.
It's by no means pretty, but is it "satisfactory"? Because I think there is no prettier way to do this. I will still have to pollute our git history anyway. For example, in that failed commit I added new glew, which is 30k lines, then I reverted those 30k lines, and now I added again those 30k lines. Is git smart enough to understand that, or is there 1.6mb delta's now?
edit: It somehow didn't merge complete master.... git is such a clusterfuck sometimes. I end wasting hours just to get thing work and then develop for 10 minutes. I'll continue trying. What I learned from this experiance is this - NEVER use git revert function. Leave the master broken if you must, and the fix it there. Never for anything that is holy do it. You won't be able to revert that revert.
edit2: For some reason CompileSource files are totally different in master than they are in GL3.3CleanUp, while they shouldn't be. It leads me to believe the other files might be in the same situation, and thus I will probably revert tons of changes if I ever pushed that into master. So sadly I have failed. Any ideas on how to uncluster this f***?
I will try to explain as plain as possible (it's very hard to explain stuff in git, it's not meant to be easy). Imagine this tree (http://pastebin.com/b28HWZfi):
Until this gets fixed I cannot do anything. There is a GUI extension I wanted to finish that I started months ago. But it got frozen because of this.
edit3: Nevermind, it's impossible to draw trees in this forum for some reason. Check here: http://pastebin.com/b28HWZfi
I did this:
git checkout 83dc5dcd6d7b788aa673e395489160fb27f0bcfb (which is the commit just before the revert commit)
git merge -s ours 07ac18577f5f8007ac6d5e3b5282edafdfeeed02 (here I basically skip the revert commit (choose my changes over the ones in revert), moving the HEAD forward)
git merge -s ours f969248d94c46f6d6b95e2dd4928f5def99d46b4 (here I skip the pull request for the revert, which in Git is another commit, again moving the HEAD forward)
git merge master (here I update the whole thing to newest master)
There was about 20 file conflict I had to fix.
It's by no means pretty, but is it "satisfactory"? Because I think there is no prettier way to do this. I will still have to pollute our git history anyway. For example, in that failed commit I added new glew, which is 30k lines, then I reverted those 30k lines, and now I added again those 30k lines. Is git smart enough to understand that, or is there 1.6mb delta's now?
edit: It somehow didn't merge complete master.... git is such a clusterfuck sometimes. I end wasting hours just to get thing work and then develop for 10 minutes. I'll continue trying. What I learned from this experiance is this - NEVER use git revert function. Leave the master broken if you must, and the fix it there. Never for anything that is holy do it. You won't be able to revert that revert.
edit2: For some reason CompileSource files are totally different in master than they are in GL3.3CleanUp, while they shouldn't be. It leads me to believe the other files might be in the same situation, and thus I will probably revert tons of changes if I ever pushed that into master. So sadly I have failed. Any ideas on how to uncluster this f***?
I will try to explain as plain as possible (it's very hard to explain stuff in git, it's not meant to be easy). Imagine this tree (http://pastebin.com/b28HWZfi):
Code: [Select]
master -- commit a -- commit b -- more commits ------------------------------------------ revert d -- commit e -- commit f --
| | merge d into master |
GL3.3Fixes branch \ commit c -- commit d --- / \ GL3.3Fixes branch with master changes
I want the "GL3.3Fixes branch with master changes".Until this gets fixed I cannot do anything. There is a GUI extension I wanted to finish that I started months ago. But it got frozen because of this.
edit3: Nevermind, it's impossible to draw trees in this forum for some reason. Check here: http://pastebin.com/b28HWZfi
447
Off-Topic / Re: Restructuring the Community
« on: September 28, 2014, 11:17:11 am »
Can't we get another guy on it? a2h probably moved on, but maybe he is willing to help. It's his design/code after all. Maybe he could even do some improvements on the design.
448
Off-Topic / Re: Restructuring the Community
« on: September 28, 2014, 06:25:29 am »
The reason Robert is usually mentioned, is because he is the one that originally was very rash on the forums. Before him the whole thing was still silly, but it wasn't really offensive or aggressive. Robert for a while was like that, but in a year or so he has changed for the better. Now he is very helpful and even might call professional (as Josh pointed out in his post).
We also don't have any discussions among developers that might be perceived as infighting. We do discussions on features or bugs and so on, but it's only normal. Usually people wouldn't see that as that would happen in locked forums, but we do it publicly, as we encourage feedback.
So the ending questions is - What is exactly the thing that needs to be restructured? Just moderation for swear words? I guess we can do that, but as we personally aren't affected by that anymore (read: not 12yorld), then we don't almost notice that. Should we moderate for other company/product bashing? Like many here (usually not developers, the only dev who actually bashes them is Robert) bash YYG, GM:S, Microsoft, Apple etc. Prettier site? As most know there was one very pretty which never went live. Josh doesn't want this to seem like a product or even worse, a finished product, mostly because that will attract a lot of people asking why X doesn't work or why Y isn't added in ENIGMA in the next 48h hours. People, especially comming from GMC, don't know what FOSS is. They expect from us the same things (or more) they expect from a company like YYG. And that is not what we want.
But at the same time I want that new site online for MYSELF. So Josh, can we maybe put the site live, with just giant letter "THIS IS PRE-BETA!" or something?
We also don't have any discussions among developers that might be perceived as infighting. We do discussions on features or bugs and so on, but it's only normal. Usually people wouldn't see that as that would happen in locked forums, but we do it publicly, as we encourage feedback.
So the ending questions is - What is exactly the thing that needs to be restructured? Just moderation for swear words? I guess we can do that, but as we personally aren't affected by that anymore (read: not 12yorld), then we don't almost notice that. Should we moderate for other company/product bashing? Like many here (usually not developers, the only dev who actually bashes them is Robert) bash YYG, GM:S, Microsoft, Apple etc. Prettier site? As most know there was one very pretty which never went live. Josh doesn't want this to seem like a product or even worse, a finished product, mostly because that will attract a lot of people asking why X doesn't work or why Y isn't added in ENIGMA in the next 48h hours. People, especially comming from GMC, don't know what FOSS is. They expect from us the same things (or more) they expect from a company like YYG. And that is not what we want.
But at the same time I want that new site online for MYSELF. So Josh, can we maybe put the site live, with just giant letter "THIS IS PRE-BETA!" or something?
449
Off-Topic / Re: Creating an ENIGMA fork?
« on: September 28, 2014, 06:18:23 am »
It's GPL licensed right now, so you can make a fork and do what you wish. The only thing you must do is allow us to merge features you implement in your fork. Whether we will do it or not depends on us.
And as any open source project I think we all encourage people to fork. But seeing as nothing forbids you to actually develop in the master, then I don't really see a point. Your "vision" will probably not be more sophisticated as our "add featurestill it bursts when we need them".
And as any open source project I think we all encourage people to fork. But seeing as nothing forbids you to actually develop in the master, then I don't really see a point. Your "vision" will probably not be more sophisticated as our "add features
450
Off-Topic / Re: Restructuring the Community
« on: September 27, 2014, 07:38:30 pm »
If it wasn't on the net, then the developers wouldn't have found it. I personally also don't really care whether someone uses ENIGMA or not (and I am so tired of saying this). As Josh has pointed out millions of times already - this is a FOSS and we do it not because "we want to change the world" or some other stupid start-up slogan. We do it because we can and we personally want to. It's like when a person wants to make a painting, but he doesn't plan to sell it. We are not a company, and this, in fact, isn't a product.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »