Jump to content
  • Advertisement
    1. Past hour
    2. Hey Jukashi! I'm no expert in this field; but it looks like you (may) run into problems if the Danganronpa team takes notice of your game once it's live. From what I've read through articles, documentation is huge factor in the legal side keeping things legitimate. This also is very similar with film/and writing. You are definitely eligible to replicate a game for personal uses. Once you make a profit of said game beware you don't infringe on any rights. Such as, if the game has copyrights on stories, characters, assets, names, music...especially on specifics. For instance: You can make a Darth Vador villain for personal uses, but once you start to make a profit from it. That's when you need to make sure your ducks are in order and your not using Darth Vador anymore, as he would be a copyright infringement. Lets say you make the super villain name: "Varth Dador"....but he looks identical to Darth Vador. This I'm pretty sure would raise flags, (I'm no expert), but if there are super close similarities involved your going to be infringing upon a copyright. (If it happens to be under a copyright) (These are definite issues if the game team put them under a copyright) •Storylines (if similar) •character (if similar) •music (if similiar) •Abilities shouldn't be, but if you so many similarities revolving around it, this would be some battle ground against you....if you were brought to court for the game. Also, just to keep in mind as you search for answers. Nintendo was brought to court for supposedly a making some type of a knock off with Donkey Kong based upon King Kong. I'm not sure what the reason they were brought court was. But Nintendo won it. Documentation is pretty key. To officially release a game, I would think you'd want to put it under a copyright. Just for a couple reasons. Getting coverage away from backstabbing, making sure no one decides to use your game name or characters and make a copyright infringing your game assets or whatever to get royalties. You never known, play it safe! These are my thoughts anyway, I hope it was helpful. Don't take me for granted, as I said before, I'm no expert haha!
    3. Today
    4. Q1: Does such a need arise at all? Or should the reflectance model be used globally for the entire scene? Q2: If it is necessary to implement in the shader switching between reflectance models (OrenNayar, Lambert etc), how to do it better? Create a separate shader for each reflectance model? Or use something like // fragment shader uniform float reflectanceModel; ... switch (reflectanceModel) { case 0.0: diffuse = lambert(...); break; case 1.0: diffuse = orenNayar(...); break; case 2.0: ... break; } I will be grateful for your advice
    5. DavinCreed

      Doomish - About 70% Done

      Thanks, it's fun work. I haven't spent much time with the UE4 level editor, and I've learned that there is still a lot for me to learn to use it more effectively/efficiently.
    6. GoliathForge

      graphical user interface

      That other thread is going get closed...How's it going in here. Were you able to build FlatUI.
    7. Rutin

      My Graphics Bin

      I'll occasionally share my "unpolished" and "polished" 2D and 3D art in this album.
    8. As per usual I'm coming in to the challenge later than I expected! I'm extremely busy with many other projects but I'm putting in some time to get this done! Yesterday I did a sketch, block-out, model and texture of the main gun for the game. This mesh is also game ready. Basic Sketch Block-out Model Texture (Rendered out) Real-time rendering The game itself will consist of a main level for now and if I have time I will add more. The basic idea for the map: There will be the following items: - Armor Suit - Health Packs - Laser Gun Charges (variety of ammo types) The enemies will be a mix of robots and cyborgs. This is still in the "to do" part and since I've just spent a day only and I have a ton of work to do, but throughout my off time I have planned a lot in my head already. You will also be trying to escape the planet Mars through the teleporter in the final boss room. I'm also considering have different glows for the energy cells on the laser pistol to do different damage types and different enemies will require you to use the right ammo type to kill them. In part 2 I will showcase the level prototype once I have the textures made. I have a few assets to make as well and will show them off in part 2 most likely as well.
    9. NekrosArts

      Victorian Horror Project

      1849, Great Britain ~ After a malevolent cult enjoyed a continueing growth of popularity, it became a threat to all people who did not share their philosophy. In 1845, the cult had taken control by force over several city districts or even whole villages throughout Great Britain. Now, a priest is declared to sneak into one of those reprobated cities to finish a task, that multiple people had failed accomplishing before. That´s were our story begins... Learn more: Devlogs, Gameplay, Level Design --> https://www.youtube.com/channel/UCBgS6cpA7PEqWh3GxT4zwSg Victorian Horror Project is a first-person adventure horror game. You´ll be send into a city which is under control of a malicious satanic cult. The supporter of this cult summoned a creature of darkness that terrorizes the remaining population. It will be your task to saint the wayside crosses of the city with three phials of holy water. Those phials can be refilled, but you´ll need to find the spots where those phials can be recharged. And in the darkness something is waiting for you...
    10. Rutin

      Doomish - About 70% Done

      This is amazing work! I'm honestly very impressed with what you've put out!
    11. Im doing some tests with new Unity3d networking APi and Im moving from sending integers to sending more complex stuff, like coordinates (3 floats). The problem is that Im forced to use fixed byte as the data container for my packets (byte[] doesnt works, must be unmanaged and blittable) and I havent found a way to put my values (floats, strings, etc) into that array of bytes and also get them back. How can I do this?
    12. SapphireG

      Books on renderer architecture?

      Although not a book, I would suggest taking a look at The Cherno's videos , especially the OpenGL and Game Engine series. He talks about (and implements) abstractions etc for the kind of things you're looking for. Besides, he seems to be working for EA, which in my opinion adds a bit of validity and quality to his stuff.
    13. Tracker10

      Need a Gantt Chart

      Hi everyone, I've been out of game development for quite some time now and I'd like to get back in. I am starting by refreshing my project management knowledge. I would like to get a hold of some good Gantt Chart template, or a sample Gantt Chart from a real project - big or small, does not matter. Does anyone know where I could find something like that, or os anyone willing to share one with me? Thank you for your help.
    14. Hi check my game https://play.google.com/store/apps/details?id=com.aberrationgames.rambo It is isometric 2d. I swear you making 8 animations for each action for each character is a pain in the ass. Dont make the same mistake I did and MAKE IT 3D. You will avoid many troubles. If you want a free rotating character in 2D the only choice i see is doing the game in a complete top down orientation. In a isometric game i dont figure out how to do the rotating
    15. Would a diagram like this be helpful? It shows how curvature is related to dimension. Kind of reminds me of a light clock, but in reverse LOL. P.S. I suppose 2D is not reachable, so the last line in the figure is like 1.99999D
    16. Ovva Games

      Scene created with Unreal Engine

      A scene from the upcoming action/adventure game Between Realms. Made with Unreal. What are your thoughts?
    17. phil67rpg

      rpg game

      well I have got my game to draw two animated sprites and a grassy sprite at the bottom of the screen. I am unsure of what to add to my game.
    18. Danzabarr

      SPAACE

      SPAACE is a space station tower defence game in which the player must build and defend their station, held in the orbit of a hostile alien planet. Mine resources, manage logistics, research upgrades, train units, and survive against waves of enemy space aliens long enough to launch an attack on the hostile planet. Conscious influences and inspiration for SPAACE include Starcraft and other RTS classics, Factorio, Cities Skylines and other city builders. SPAACE is currently being created by a lone developer, and thus any feedback is greatly appreciated. If you're interested in collaborating on the project, please get in touch. SPAACE is made with Unity. Clips of gameplay can be seen on YouTube here: https://www.youtube.com/user/DanzaBarr1
    19. Hi there, I'm currently working on a vehicle builder game that I would like to be physics based. The idea is that a player could build a vehicle (possessing certain physics e.g. mass, moment of inertia, etc.) that would traverse a landscape. I've envisioned this game to have a top-down oblique perspective similar to Stardew Valley(example below). The primary reason for this is due to the fact that the gameplay and physics are 2D based, yet it gives the world a 3D feel. However, I'm starting to think more about how I would actually implement the rendering system for the main vehicle. It seems like most oblique perspective games use player models that are restricted to travel in finite directions. For example, a player can move in 8 directions: up, down, left, right, diagonally (x4). Thus the rendering system would only need to worry about 8 travel animations. Hence the rendering system would not need to differentiate between a character traveling in a direction of 45 degree vs 55 degrees. So this is essentially my dilemma. I want the main character of my game (a vehicle) to travel based on physics. That means the character could move in any direction and rotate to any position. However, oblique perspective rendering systems are typically limited in how many perspectives of object can be drawn (e.g. character only being able to move in 8 directions). Obviously one solution would be to render the main vehicle from a pure top-down perspective such that it can rotate and move in any direction without need to worry about side perspective rendering, however, it seems like this would clash with the rest of the art style. I'm curious if anyone has thoughts on this dilemma I'm having.
    20. Gorillafruit studio CEO

      New hobby project

      Hi there I'm looking at putting together a team to make a game in their free time, but here's the thing once the game is at a good alpha point I want to get it published as an early access game to help create a name for the studio we have started. So if anyone one is interested in this opportunity please dont hesitate to reply.The game I have in mind is a open world survival game where you have make sure you can survive the night before all the creatures wake and hunt you down, I want it to be a 1st person shooter with block building and terrain manipulation, so you can dig and build how ever freely the players want. I want it to be multi player so people can team up. Also would like it to have a story mode, single or co-op. If you are interested please message or reply, we need people from all fields of game development. That's from story righter, artist, programmer, 3d artist and terrain/world creator to audio artist/producer. Once we have a team and have had a couple of meetings through Skype or what ever is easier for everyone and we have brain stormed ideas we will get on with making a game
    21. ouraf

      Creators wanted

      First: wrong forum: classifieds go to https://www.gamedev.net/forums/forum/29-hobby-project-classifieds/ Either that's a troll post or a recipe for disaster: You're putting all the risks on the shoulders of the people that's already working for free. You're also asking for high profile features (multiplayer, terrain manipulation, day-night cycle, etc.) and a pretty big team. this kind of skillset doesn't come cheap, let alone for free and even more to fullfill someone else's dreams and wishes Even worse you have nothing to show other than ideas. no engine, no assets, no documentation, no demo, no vertical slice, nothing. And the base ideas show nothing that wasn't been made before for bigger studios with an actuall business plan. And you alrady failed to amass funds for a smaller project. That gives you zero assurance you'll get the funding for an even more ambitious project -- I'll give you the best kind of contribuition you can get from this thread based on what you wrote: advice With what you have and what you want to do, even if you get a hundred of dreamers willing to sacrifice their free time for your vision, it'll end up a convoluted disaster. So you have two roads to follow: 1 - Keep doing small games with whatever funds and assets you have. NEVER ask for free work. Build your name in small indie communities like itch.io or gamejolt. study as much as you can and specialize in something tangible ("having ideas" is in low demand in industry. having something to show you yourself did with these ideas is another matter entirely). Once you get enough reputation, try to get a job in a real studio. If you excel at your tasks and the studio prosper, you'll get a director role down the line and then you can pitch your idea and will probably have support from the studio and publisher. 2 - Study like a maniac for years and years. Participate in other people's projects for free to learn from their work. Make sure the people you're associating with have a real portifolio and every project is decently documented. NEVER associate yourself with someone that has only "an idea" and wants to leech other people's skills for free without contributing with anything worthwhile. Also offer your best skills as a freelance to amass funds of your own. While acquiring the necessary skills, document every single detail of your big idea. At some point you need to have every stage, every scene, every character documented drawn and schematized. If the document ends with hundreds of pages, so be it. When you have you game design document ready and the skills to make at least part of it a reality, create a prototype and polish it up as good as you can. Use the prototype and your well documented design plan to find a publisher willing to fund your idea. The publisher will probably retain rights over the IP, but that can be negotiated. If you fail to get a publisher, you'll have to self fund your idea. Use your own money to comission assets you can't make and do the rest yourself on your free time. It worked for the five nights at freddy's and undertale folks, should work for you.
    22. Ok sorry, guess i misunderstood your question... Hm, how would I apply that coordinates you mentioned? The triangle is defined as: var data = new float[] { 0, 0, 0, 1, 0, 0, 0, 1, 0 }; isn't that exactly what you wrote?
    23. Not really. I see a small dot, conditions are the same for the eye position, no matter if zNear is positiv or negativ.
    24. private void OnResize(object sender, EventArgs e) { var clientArea = _gameWindow.ClientRectangle; GL.Viewport(0, 0, clientArea.Width, clientArea.Height); _projectionMatrix = Matrix4.CreateOrthographic(clientArea.Width, clientArea.Height, -1, 1); } private void OnLoad(object sender, EventArgs e) { //_projectionMatrix = Matrix4.CreateOrthographic(3, 3, 0.001f, 50); // remove me . . . // scale vertex array to be in pixel space what about passing the actual screen size values to CreateOrthographic...does that change anything? (1pixel::1unit)
    25. Julito

      Creators wanted

      Hi mr CEO of gorilafruit Like you dont have funds and want to develop your dream AAA game... you decide to hire a team for FREE and you are not kidding!!! Ha ha ha The game you describe is very complex. You'll need to hire experienced devs. It's not doable with beginers with much illusion. Fact 1. No experienced dev will work with you for free, only beginers with much illusion Fact 2. If someone works for free is because he believes in the project and want to share revenues equally and get rich, nobody wants to get fully employed at gorillafruit. Fact 3. Forget you CEO title. If you dont pay you are not the owner of the work.
    26. No I am not... sorry if i said something wrong... See my next post for complete code (just was working on that...) using System; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL4; namespace OGL420_Matrices { // OpenTK version 3.1.0 internal class Program { public static void Main(string[] args) { var program = new Program(); program.Run(); } private GameWindow _gameWindow; private Matrix4 _projectionMatrix; private Matrix4 _viewMatrix; private Matrix4 _viewProjectionMatrix; private Matrix4 _modelMatrix; private int _vbaId, _programId, _viewProjectionUniformId, _modelMatrixUniformId; private void Run() { // 4, 2 is OpenGL 4.2 using (_gameWindow = new GameWindow(800, 600, GraphicsMode.Default, "", GameWindowFlags.Default, DisplayDevice.Default, 4, 2, GraphicsContextFlags.Default)) { _gameWindow.Load += OnLoad; _gameWindow.Resize += OnResize; _gameWindow.RenderFrame += OnRenderFrame; _gameWindow.Run(); } } private void OnResize(object sender, EventArgs e) { var clientArea = _gameWindow.ClientRectangle; GL.Viewport(0, 0, clientArea.Width, clientArea.Height); } private void OnLoad(object sender, EventArgs e) { _projectionMatrix = Matrix4.CreateOrthographic(3, 3, 0.001f, 50); // change -1 to -2.1f you dont see anything // change -1 to 2f you still see the same // change -1 to >= 0 you dont see anything; of course 0 doesn't make sense but 1 would _viewMatrix = Matrix4.LookAt( new Vector3(0, 0, -1f), new Vector3(0, 0, 0), new Vector3(0, 1, 0)); _modelMatrix = Matrix4.Identity; var data = new float[] { 0, 0, 0, 1, 0, 0, 0, 1, 0 }; var vboId = GL.GenBuffer(); GL.BindBuffer(BufferTarget.ArrayBuffer, vboId); GL.BufferData(BufferTarget.ArrayBuffer, data.Length * sizeof(float), data, BufferUsageHint.StaticDraw); _vbaId = GL.GenVertexArray(); GL.BindVertexArray(_vbaId); GL.BindBuffer(BufferTarget.ArrayBuffer, vboId); GL.EnableVertexAttribArray(0); GL.VertexAttribPointer(0, 3, VertexAttribPointerType.Float, false, 0, 0); var vertexShaderId = GL.CreateShader(ShaderType.VertexShader); GL.ShaderSource(vertexShaderId, @"#version 420 layout(location = 0) in vec3 position; uniform mat4 viewProjection; uniform mat4 model; out vec3 outColor; void main() { gl_Position = viewProjection * model * vec4(position, 1); outColor = vec3(1,1,1); }"); GL.CompileShader(vertexShaderId); GL.GetShader(vertexShaderId, ShaderParameter.CompileStatus, out var result); if (result != 1) throw new Exception("compilation error: " + GL.GetShaderInfoLog(vertexShaderId)); var fragShaderId = GL.CreateShader(ShaderType.FragmentShader); GL.ShaderSource(fragShaderId, @"#version 420 in vec3 outColor; out vec4 fragmentColor; void main() { fragmentColor = vec4(outColor, 1); }"); GL.CompileShader(fragShaderId); GL.GetShader(fragShaderId, ShaderParameter.CompileStatus, out result); if (result != 1) throw new Exception("compilation error: " + GL.GetShaderInfoLog(fragShaderId)); _programId = GL.CreateProgram(); GL.AttachShader(_programId, vertexShaderId); GL.AttachShader(_programId, fragShaderId); GL.LinkProgram(_programId); GL.GetProgram(_programId, GetProgramParameterName.LinkStatus, out var linkStatus); if (linkStatus != 1) // 1 for true throw new Exception("Shader program compilation error: " + GL.GetProgramInfoLog(_programId)); GL.DeleteShader(vertexShaderId); GL.DeleteShader(fragShaderId); _viewProjectionUniformId = GL.GetUniformLocation(_programId, "viewProjection"); _modelMatrixUniformId = GL.GetUniformLocation(_programId, "model"); } private void OnRenderFrame(object sender, FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit); _viewProjectionMatrix = _projectionMatrix * _viewMatrix; GL.UniformMatrix4(_viewProjectionUniformId, false, ref _viewProjectionMatrix); GL.UniformMatrix4(_modelMatrixUniformId, false, ref _modelMatrix); GL.UseProgram(_programId); GL.BindVertexArray(_vbaId); GL.DrawArrays(PrimitiveType.Triangles, 0, 3); _gameWindow.SwapBuffers(); } } }
    27. Does anyone recommend any good books on renderer architecture? One of the hardest things I face when writing renderers is making it not look like a big procedure. I have shadows, SSAO, PBR and I have tons of shaders and my renderer loop is huge. I'm hardcoding all the inputs and outputs. I never needed a scene graph or ECS because I'm working on simple and small games, but I wonder how one would organize the renderer in larger projects? Or even making the renderer more abstract so I can stop copying/pasting and tweaking stuff for every new game I make.
    28. You need to assign the Rigidbody in the inspector go to your script in the inspector and drag and drop the Rigidbody in the right slot
    29. gsimo999

      Creators wanted

      Hello, I'd be interested in helping you out. I do have some experience in Unity, i have made some project on Android and Iphone, i also have experience using Git, Slack and Discord. Send me a PM if you want to know more about me.
    30. You're messing with me. Good luck solving the problem.
    31. value is just the matrix you set (depends); this is a method of an uniform encapsulation: Id = GL.GetUniformLocation(programId, name); public void Set(ref Matrix4 value) { GL.UniformMatrix4(Id, false, ref value); } this is inside a class; it is instanciated for each uniform in the shader. So yes Id is the location of the corresponding uniform.
    32. If you mean 'should' in the sense of - with the aim to invest in efficiency and reduce error, then I think everyone agrees humans should be replaced by robots wherever possible. If you mean 'should' in the sense of - with the aim to make available meaningful roles to humans, such that they don't sink into existential crisis and depression, then I think the question is more complicated. In the end, people flourish when there are opportunities to do with your life something that both benefits the individual, and benefits at least some others, mentally and physically. Do you think that after AI has replaced humans in every way possible, there will still be enough of those roles around? Perhaps humans will have to take on roles that are at least fulfilling, if not useful. Perhaps we already do that.
    33. Ok, i ask again 🙂 What is the value of 'value' and where and how do you set the shader's uniforms. Also, please tell us how you obtain 'Id'. Is that the location of the model matrix or the viewProjection matrix ?
    34. want to see what your experience was like
    35. model: (1, 0, 0, 0) (0, 1, 0, 0) (0, 0, 1, 0) (0, 0, 0, 1) value is any value used for the uniform. I'll try to setup a minimal project and post that...
    36. what are your opinions ? is the industry being fair ?
    37. No. That's hardcoded in the pipeline. There are margins that be set, but they don't play a role here. If it is not set it should be an identity matrix. Edit: but good point, for clarity it should be constructed with = mat4( 1.0f ); 'Nother thing, do you actually set the view projection matrix ? What is 'value' ?
    38. How about your model matrix uniform...is that in a garbage state because it's commented out client side? What does that log?
    39. with Matrix4.CreateOrthographic(3, 3, 0.001f, 50); means width and height = 3, zNear = 0.001f, zFar = 50 Do i have to tell OpenGL somehow specifically were the clipping planes are?
    40. So, you found the triangle at 0,0,0 ? Clipping takes place at the near and far planes and at <0 and >3 in x and y ...
    41. What makes me wondering the most now is the this: target for both = 0, 0, 0 eye = 0,0,-1 projection: (0.6666667, 0, 0, 0) (0, 0.6666667, 0, 0) (0, 0, -0.0400008, 0) (0, 0, -1.00004, 1) view: (-1, 0, 0, 0) (0, 1, 0, 0) (0, 0, -1, 0) (0, 0, -1, 1) Vector 0 (0, 0, 0) (0, 0, 0, 1) // is the vector multiplied with the view matrix (0, 0, 0, 1) // is the vector multiplied with the view and projection matrix (means: value = proj * view * vec) Vector 1 (1, 0, 0) (-1, 0, 0, 1) (-0.6666667, 0, 0, 1) Vector 2 (0, 1, 0) (0, 1, 0, 1) (0, 0.6666667, 0, 1) Shows the triangle. If i set eye to: eye = 0, 0, -2.1f projection: (0.6666667, 0, 0, 0) (0, 0.6666667, 0, 0) (0, 0, -0.0400008, 0) (0, 0, -1.00004, 1) view: (-1, 0, 0, 0) (0, 1, 0, 0) (0, 0, -1, 0) (0, 0, -2.1, 1) Vector 0 (0, 0, 0) (0, 0, 0, 1) (0, 0, 0, 1) Vector 1 (1, 0, 0) (-1, 0, 0, 1) (-0.6666667, 0, 0, 1) Vector 2 (0, 1, 0) (0, 1, 0, 1) (0, 0.6666667, 0, 1) So not a thing different but still this leads to not displaying anything. Now i am just more confused... Code used to generate the debug output: var va = new[] {new Vector3(0, 0, 0), new Vector3(1, 0, 0), new Vector3(0, 1, 0)}; Console.WriteLine("projection:\n" + projection); Console.WriteLine("view:\n" + view); for (int i = 0; i < va.Length; i++) { Console.WriteLine("Vector " + i); Console.WriteLine(va[i]); Console.WriteLine(view * new Vector4(va[i], 1)); Console.WriteLine(projection * view * new Vector4(va[i], 1)); } How I set the uniform matrices for the shader: GL.UniformMatrix4(Id, false, ref value); which shouldn't be the problem either, because for rotating the triangle itself it just works fine.
    42. Hi! My name is... nobodycaresbecauseitsnotimportant. I'm working on my own card game. I'm just in a stage of connecting some 'dots' of game's mechanics. I'm looking for a concept / 2D artist - because its time to give it some shape - I've a concept of a dark fantasy world where I want to place the plot but there is a lot of space for creativity. If you are interested please shout here or on discord (vvoodenboy#3207) or vvoodenboy@gmail.com. Have a nice day! V
    43. Hello! So, i was working with a group of people on fan-game project, but it turned into really advanced game. We decided to release it as official game. But it's highly inspired by Danganronpa series: - Gameplay is identical - Characters are really similar (Monokuma -> Mononeko, Monoraion, 16 students with "ultimate" talents (few talents are identical, but characters are different)) - Plot is really similar - All of the assets are created by our team. Is it legal to publish game like this on popular game platforms, like steam? Another question is: Our team is a group of people from different countries (Poland, America, Australia) and few of them are underage and we aren't an official game studio. Is it okay to release game like this? Thank you and greetings! P.S. Sorry for my poor english, it's not my native language!
    44. Scissor is just to render it only in part of the screen (actually this is a control with it's own OpenGL context as part of a usually 2d library; didn't want to make the question to complicated). @Green_Baron: yes this works. Just as the setup above, doesn't really solve my problem. I don't know what is strange to me is, that the values that work for eye z coordinate are from < 0 until -2 all other values do not render anything. When the value becomes 0 or less the triangle suddenly disappears and when the value become ~ greater 2 the same. It seems like some kind of clipping takes place... By the way, my fragment shader: #version 420 in vec3 outColor; out vec4 fragmentColor; void main() { fragmentColor = vec4(outColor, 1); } Disabled DepthTest and ScissorTest does not change anything...
    45. i made a discord server,here it is https://discord.gg/Dnz2Fx
    46. Yeah, my fault. I just looked it up ... looks right. You can disable scissor and depth test. They are not needed here. Try setting the camera at 0, 0, -2 and look at 0,0,0. I think that's where your triangle is ...
    47. This is what OpenTK does /// <summary>Creates an orthographic projection matrix.</summary> /// <param name="width">The width of the projection volume.</param> /// <param name="height">The height of the projection volume.</param> /// <param name="zNear">The near edge of the projection volume.</param> /// <param name="zFar">The far edge of the projection volume.</param> /// <rereturns>The resulting Matrix4 instance.</rereturns> public static Matrix4 CreateOrthographic( float width, float height, float zNear, float zFar) { Matrix4 result; Matrix4.CreateOrthographicOffCenter((float) (-(double) width / 2.0), width / 2f, (float) (-(double) height / 2.0), height / 2f, zNear, zFar, out result); return result; } /// <summary>Creates an orthographic projection matrix.</summary> /// <param name="left">The left edge of the projection volume.</param> /// <param name="right">The right edge of the projection volume.</param> /// <param name="bottom">The bottom edge of the projection volume.</param> /// <param name="top">The top edge of the projection volume.</param> /// <param name="zNear">The near edge of the projection volume.</param> /// <param name="zFar">The far edge of the projection volume.</param> /// <param name="result">The resulting Matrix4 instance.</param> public static void CreateOrthographicOffCenter( float left, float right, float bottom, float top, float zNear, float zFar, out Matrix4 result) { result = Matrix4.Identity; float num1 = (float) (1.0 / ((double) right - (double) left)); float num2 = (float) (1.0 / ((double) top - (double) bottom)); float num3 = (float) (1.0 / ((double) zFar - (double) zNear)); result.Row0.X = 2f * num1; result.Row1.Y = 2f * num2; result.Row2.Z = -2f * num3; result.Row3.X = (float) -((double) right + (double) left) * num1; result.Row3.Y = (float) -((double) top + (double) bottom) * num2; result.Row3.Z = (float) -((double) zFar + (double) zNear) * num3; }
    48. Gorillafruit studio CEO

      Creators wanted

      Hi there I'm looking at putting together a team to make a game, I've been waiting for funds so me and my business partner can create a little game to get us started but unfortunately we just haven't been able to get the funds to make it. So I'm try a different Approach to it all. I'm looking at putting a group of people together to make a game in their free time for free, but here's the thing once the game is at a good alpha point I want to get it published as an early access game to help create the necessary funds to pay the team that we put together and eventually make enough money to fully employ the team.So if anyone one is interested in this opportunity please dont hesitate to reply.The game I have in mind is a open world survival game where you have make sure you can survive the night before all the creatures wake and hunt you down, I want it to be a 1st person shooter with block building and terrain manipulation, so you can dig and build how ever freely the players want. I want it to be multi player so people can team up. Also would like it to have a story mode, single or co-op. If you are interested please message or reply, we people from all fields of game development. That's from story righter, artist, programmer 3d artist and terrain/world creator to audio artist/producer. Once we have a team and have had a couple of meetings through Skype or what ever is easier for everyone and we have brain stormed ideas we will get on with making a game
    49. Your orthographic matrix looks strange, or has OpenTK a special version ? Change it to left, right, bottom, up, e.g. 0, 640, 0, 480. Scrub. It has. Sorry for the nonsense. Aand: coordinate spaces. I had to read it over and again 🙂
    50. LandonJerre

      How do you make Windows 10 barely usable?

      If you have the KB4512941 update installed, try removing it, they managed to cock up something in it, that manifests in Cortana hogging the CPU. (If you search for it, theres a bunch of guides on how to remove the update, or how to fix it in registry.) Otherwise it shouldn't eat up that much CPU, I'm currently running Win10 on a 2 year old Lenovo Y720 laptop (i7-7700HQ) with 6-10% usage with Chrome running a bunch of tabs, plus Slack and IntelliJ running in the background.
    51. I am trying to understand the model view projection matrix usage since a few days now, and still have some issues i just don't understand. I am using OpenTK (.NET OpenGL wrapper library). Here is a "working" setup: (it displays the triangle) // ### setup OpenGL ### // not sure if this is important; this is basically just so that i can render only in part of a screen because the OpenGL thing is part of a larger project // it's included just in case... GL.Enable(EnableCap.ScissorTest); GL.Viewport(0, 0, (int)windowPosition.Width, (int)windowPosition.Height); GL.Scissor(x, y, width, height); // maybe more important GL.Enable(EnableCap.DepthTest); GL.Disable(EnableCap.CullFace); // should be default value, but i am not sure if it is // ### rendering ### GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); var projection = Matrix4.CreateOrthographic(3, 3, 0.001f, 50); var view = Matrix4.LookAt( new Vector3(0.5f, 0.5f, -2), new Vector3(0.5f, 0.5f, 0), new Vector3(0, 1, 0)); var viewProjectionMatrix = projection * view; // set uniforms... var modelMatrix = ... // values are: (scaling by factor 2) // [2 0 0 0] // [0 2 0 0] // [0 0 2 0] // [0 0 0 1] // triangle vertices var data = new float[] { 0, 0, 0, 1, 0, 0, 0, 1, 0 }; // ### vertex shader ### Vertex Shader: #version 420 layout(location = 0) in vec3 position; uniform mat4 viewProjection; uniform mat4 model; out vec3 outColor; void main() { gl_Position = viewProjection * model * vec4(position, 1); outColor = vec3(1,1,1); } As I said this setup works. As far as I understand this will create a "camera" placed further down the z axis (which in open gl normally means farther behind), since positive z values point to the viewer by default. The problem: To keep the usual OpenGL setup I would like the the camera eye to placed at new Vector3(0.5f, 0.5f, 2) instead of new Vector3(0.5f, 0.5f, -2), but for some reason I can't see the triangle anymore. I drew it on paper and don't get it. As you can see FaceCulling is explicitly disabled, so this can't be the reason. Maybe I am misunderstanding something. And just in case the problem is the the Matrix4.LookAt function, here is the matrix it creates (no idea if this makes sense) with eye-z = -2 view: (eye-z = -2) (-1, 0, 0, 0) (0, 1, 0, 0) (0, 0, -1, 0) (0.5, -0.5, -2, 1) projection: (0.6666667, 0, 0, 0) (0, 0.6666667, 0, 0) (0, 0, -0.0400008, 0) (0, 0, -1.00004, 1) projection * view: (-0.6666667, 0, 0, 0) (0, 0.6666667, 0, 0) (0, 0, 0.0400008, 0) (0.5, -0.5, -0.9999601, 1) view: (eye-z = 2) (1, 0, 0, 0) (0, 1, 0, 0) (0, 0, 1, 0) (-0.5, -0.5, -2, 1) projection: (0.6666667, 0, 0, 0) (0, 0.6666667, 0, 0) (0, 0, -0.0400008, 0) (0, 0, -1.00004, 1) projection * view: (0.6666667, 0, 0, 0) (0, 0.6666667, 0, 0) (0, 0, -0.0400008, 0) (-0.5, -0.5, -3.00004, 1)
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!