Adding hand tracking for VR in GTA: V..
[IMG]http://i.imgur.com/GSOMVKc.jpg[/IMG]
Each cone represents one failed attempt at converting between the quaternion coordinate systems.
finally got it tho.
turns out i was just reading the data from the dll's in the wrong format. it was a different version than the hydra's sdk spec said.
kill me
[QUOTE=Downsider;49764829]kill me[/QUOTE]
Wow GTAV modding's really coming along nicely. Is the aim to have this work in first person?
Here's a short update from my [URL="https://github.com/powback/Bad-Company-2-Map-Editor"]Battlefield: Bad Company 2 map editor[/URL].
It now loads all data natively from the game files instead of having to pre-convert all models. The terrain is also loaded natively now.
[t]http://i.imgur.com/ZlQK5iu.jpg[/t]
[t]http://i.imgur.com/PXh8x96.jpg[/t]
[t]http://i.imgur.com/Ok3DHSc.jpg[/t]
[t]http://i.imgur.com/dDgRg3X.jpg[/t]
[t]http://i.imgur.com/Mt0MQq9.jpg[/t]
[t]http://i.imgur.com/NyCUFVt.jpg[/t]
reference photo:
[t]http://vignette4.wikia.nocookie.net/battlefield/images/c/c7/BattlefieldBadCompany2.jpg/revision/latest?cb=20090527141935[/t]
Now I just have to work on getting the Textures on the right model.
It's hard because they are saved in a file called dx11.dx11shaderdatabase, which contains texture names, shader data, mesh names, and shader names. I can't seem to find a way to tie them together though. Still working on it!
By the way, yes, you can play online on modified maps!
Got the hand tracking down pat for first person now. For some reason poking peds makes them disappear (shrug).
[vid]https://fat.gfycat.com/BeneficialLeadingKoalabear.webm[/vid]
I'll figure it out later.
[QUOTE=powback;49764886]Here's a short update from my [URL="https://github.com/powback/Bad-Company-2-Map-Editor"]Battlefield: Bad Company 2 map editor[/URL].[/QUOTE]
This is really sick, good work, dude.
[QUOTE=powback;49764886]Here's a short update from my [URL="https://github.com/powback/Bad-Company-2-Map-Editor"]Battlefield: Bad Company 2 map editor[/URL].
It now loads all data natively from the game files instead of having to pre-convert all models. The terrain is also loaded natively now.[/QUOTE]
Very impressive, where would one even start reverse engineering a map format?
At one point I tried loading CoD4 maps into Unity myself (never got it working), but that was mostly based off other people's research. I'd love to learn how to do this myself
[QUOTE=Downsider;49765021]Got the hand tracking down pat for first person now. For some reason poking peds makes them disappear (shrug).[/QUOTE]
Are you just setting the position of the cone? Try moving it by applying forces instead, similar to how GMod physgun dragging would work.
[editline]18th February 2016[/editline]
You gave me an idea, as i've been doing some gta 5 modding myself.
I could create a simple inertial navigation system using my gyro+accelerometer module and use it to beat people up with a bat by actually swinging it. Compensating for drifting would be easy as the bat would just be clipped to a region around the player so it would behave similar to when you keep moving the mouse as the cursor reaches the screen edge.
[editline]18th February 2016[/editline]
And then you just parent the player character hand to the bat handle.
[QUOTE=Downsider;49765021]
This is really sick, good work, dude.[/QUOTE]
[QUOTE=Goz3rr;49765034]Very impressive, where would one even start reverse engineering a map format?
[/QUOTE]
Thanks guys!
BC2's map format is really, really simple. It's just a bunch of huge XML files that contain most of the data, and a bunch of references that point to other XML files containing other data.
The challenge is to figure out how everything works together, and how you can replicate that. And then you just need to figure out how the mesh and textures are drawn.
The little section in the middle [URL="https://github.com/Powback/Bad-Company-2-Map-Editor/blob/master/Assets/Scripts/Utilities/MeshdataImporter.cs"]here[/URL], combined with 010 Editor's template system helped me a lot with the file format reverse engineering.
So I've mostly been throwing stuff at the wall to see what sticks for the past 8 months or so.
[QUOTE=Cesar Augusto;49762388]Which GUI library for Löve2D do you guys recommend to me? I would like to use one that is still maintained.[/QUOTE]
I'm using SUIT for my project, it's fairly well documented but it is a very limited library, you still have to do all the work for managing the menu states etc...
I haven't tried any other library yet
I managed to get custom models loading with directX, and made the outline part of a cel shader!
Onto lighting I guess :S
[t]http://puu.sh/ncyNM/f8264c4e52.png[/t]
low res raytracing cus twitter loves dem pixels :v:
[IMG]http://i.imgur.com/9KGEVGX.gif[/IMG]
[editline].[/editline]
sorry for fat gif
That map editor stuff makes me seriously miss WoWs map viewer died, as a developer I loved to view all the unfinished locations.
Just some message digest stuff for class
[t]http://i.imgur.com/d1oJOF0.png[/t]
I implemented transparency into my deferred rendering. This is a simple two pass system (although post modification you can have as many passes as you want).
I had to modify portions of the engine to render directly into a specific gpu context (rather than the implied gpu context), which involved separating out bits of memory from my engine to the context. This however makes the rendering data much more nicely encapsulated, and simplifies some of the internal logic
I also had to update my texture system to work with transparency. But on the plus side, players can now have floating names over their heads!
[IMG]https://dl.dropboxusercontent.com/u/9317774/head_text.PNG[/IMG]
This is currently offline only - I need to update the server to pipe this information over to the other clients, as well as have your name be loaded from a text file instead of hardcoded (later I'll pull it from steam)
This isn't a billboarded texture, its fully rendered in 3d
[IMG]https://dl.dropboxusercontent.com/u/9317774/persp.PNG[/IMG]
[IMG]https://dl.dropboxusercontent.com/u/9317774/vanityisfortheweak.PNG[/IMG]
I'm using sfml for the actual text rendering to an opengl texture, and then binding that opengl texture and using an opencl kernel to blit it to the gpu texture storage (and generating mipmaps, on the gpu as well)
[QUOTE=Icedshot;49766839]I implemented transparency into my deferred rendering. This is a simple two pass system (although post modification you can have as many passes as you want).
I had to modify portions of the engine to render directly into a specific gpu context (rather than the implied gpu context), which involved separating out bits of memory from my engine to the context. This however makes the rendering data much more nicely encapsulated, and simplifies some of the internal logic
I also had to update my texture system to work with transparency. But on the plus side, players can now have floating names over their heads!
This is currently offline only - I need to update the server to pipe this information over to the other clients, as well as have your name be loaded from a text file instead of hardcoded (later I'll pull it from steam)
This isn't a billboarded texture, its fully rendered in 3d
I'm using sfml for the actual text rendering to an opengl texture, and then binding that opengl texture and using a kernel to blit it to the gpu texture storage (and generating mipmaps, on the gpu as well)[/QUOTE]
Man, I so rarely use anything I make and here you are. Making a game out of your own rendering engine. This is still all ran on opencl right?
[QUOTE=powback;49765175]Thanks guys!
BC2's map format is really, really simple. It's just a bunch of huge XML files that contain most of the data, and a bunch of references that point to other XML files containing other data.
The challenge is to figure out how everything works together, and how you can replicate that. And then you just need to figure out how the mesh and textures are drawn.
The little section in the middle [URL="https://github.com/Powback/Bad-Company-2-Map-Editor/blob/master/Assets/Scripts/Utilities/MeshdataImporter.cs"]here[/URL], combined with 010 Editor's template system helped me a lot with the file format reverse engineering.
So I've mostly been throwing stuff at the wall to see what sticks for the past 8 months or so.[/QUOTE]
No one else has done it though right?
This is great shit if you get it fully working and since they work in MP you could start a big thing.
[QUOTE=polkm;49766015]low res raytracing cus twitter loves dem pixels :v:
[img]http://i.imgur.com/9KGEVGX.gif[/img][/QUOTE]
Man, I love your work. I love to see what this community programs! Keep it up :)
For people who have used Vulkan a bit: is it/does it seem better (easier, faster, simpler, more features) than current options (DirectX and OpenGL) or is it just different?
[editline]18th February 2016[/editline]
I know that Vulkan is also "made" by Khronos group; is it clearly related to OpenGL?
[QUOTE=roastchicken;49767237]For people who have used Vulkan a bit: is it/does it seem better (easier, faster, simpler, more features) than current options (DirectX and OpenGL) or is it just different?
[editline]18th February 2016[/editline]
I know that Vulkan is also "made" by Khronos group; is it clearly related to OpenGL?[/QUOTE]
These are only to render a triangle
[url]https://github.com/SaschaWillems/Vulkan/blob/master/triangle/triangle.cpp[/url]
[url]https://github.com/SaschaWillems/Vulkan/blob/master/base/vulkanexamplebase.cpp[/url]
[url]https://github.com/SaschaWillems/Vulkan/blob/master/base/vulkanswapchain.hpp[/url]
That's about 2200 lines of code to render a triangle, that's radically different than OpenGL and you'll most likely have a hard time learning how to properly use it.
From what i saw, you definitely have more power over how to use it.
For example using it to allocate memory and store data entirely on the GPU wouldn't be hard if you so desire. It's not "limited" to be used only for rendering stuff but for whatever you want the GPU to do.
It's definitely faster because of that, it only does what you tell it to.
[editline]18th February 2016[/editline]
The GetPhysicalDeviceSurfaceFormatsKHR function doesn't work on 1.0.2.0 AMD drivers when you supply a valid physical device because access violation exception :goodjob:
[editline]18th February 2016[/editline]
Supplying invalid pointers makes the function fail and return a proper error code tho.
[url]https://renderdoc.org/vulkan-in-30-minutes.html[/url]
This seems to make it seem much simpler
Nothing special yet, but I started writing a little tool to extract my highlight rounds/moment from csgo demos using [URL="https://github.com/EHVAG/demoinfo"]demoinfo[/URL] since csgos built in "show highlights" feature just plays all of your kills.
[t]http://i.imgur.com/jnShUJe.png[/t]
Hopefully this will make making frag movies a lot easier because I don't really want to rewatch all my old demos
[QUOTE=Darwin226;49766884]Man, I so rarely use anything I make and here you are. Making a game out of your own rendering engine. This is still all ran on opencl right?[/QUOTE]
Yup, still the same opencl rendering engine, its something like 3+ years old at this point. There's about 10k lines of opencl, and 20k lines of C++, although a lot of the opencl is for other projects that have started/died along the way
[vid]http://giant.gfycat.com/DesertedAgitatedDunlin.mp4[/vid]
okay this is really fucking brutal and hard to play. damn. i dont even know what to think of this tbh.
Has anyone made anything computationally demanding in LÖVE? I started writing an isometric demo but ended up switching to [url=http://store.steampowered.com/app/325180/]AGK[/url] because the performance was so bad. It was giving 10-20 fps drawing 400 simple shapes every frame. I'm pretty sure it was using LuaJIT too. The same thing in AGK BASIC allows up to ~100,000 shapes/frame while maintaining 60 fps.
[QUOTE=Downsider;49769378]okay this is really fucking brutal and hard to play. damn. i dont even know what to think of this tbh.[/QUOTE]
I was thinking about this a few weeks ago when a journalist playing Hover Junkers got all freaked out because one of the developers shot himself in the head lol. VR seems to transform cartoonish violence into a potentially traumatizing experience and I was thinking specifically how it would feel to play GTAV in VR and actually feel the presence of people you're approaching and gunning down for no reason. I'm excited to see where your project goes because I think it could end up being a really important experiment regarding how people become emotionally involved in VR even when they obviously understand that they're not hurting real people.
[QUOTE=mojangsta;49769469]Has anyone made anything computationally demanding in LÖVE? I started writing an isometric demo but ended up switching to [url=http://store.steampowered.com/app/325180/]AGK[/url] because the performance was so bad. It was giving 10-20 fps drawing 400 simple shapes every frame. I'm pretty sure it was using LuaJIT too. The same thing in AGK BASIC allows up to ~100,000 shapes/frame while maintaining 60 fps.[/QUOTE]
Yes, LÖVE can do computationally demanding things. Did you use sprite batches? What's your code?
You need to be optimal when drawing so many shapes.
Lesson of the day: Keeping track of reverse transforms is a nightmare. Define everything in screen space and keep it there.
[QUOTE=slime73;49769593]Yes, LÖVE can do computationally demanding things. Did you use sprite batches? What's your code?[/QUOTE]
[code]
while 1 do
for x=1,20 do
for y=1,20 do
love.graphics.line(somewhere at some angle)
end
end
for x=1,20 do
for y=1,20 do
love.graphics.line(somewhere at another angle)
end
end
for x=1,20 do
for y=1,20 do
love.graphics.line(somewhere at a third angle)
end
end
love.graphics.present()
end
[/code]
So 1200 simple lines. Even when love.graphics.line() is replaced with var = var inside the loops, it gives the same FPS.
I'm measuring FPS with the Steam overlay, if it matters.
[QUOTE=mojangsta;49769469]Has anyone made anything computationally demanding in LÖVE? I started writing an isometric demo but ended up switching to [URL="http://store.steampowered.com/app/325180/"]AGK[/URL] because the performance was so bad. It was giving 10-20 fps drawing 400 simple shapes every frame. I'm pretty sure it was using LuaJIT too. The same thing in AGK BASIC allows up to ~100,000 shapes/frame while maintaining 60 fps.[/QUOTE]
I made that raytracer up there with love, and I know for a fact it can render more than 400 shapes at solid fps. You must have been doing something expenive each frame, like loading images?
[QUOTE=mojangsta;49769737][code]
while 1 do
for x=1,20 do
for y=1,20 do
love.graphics.line(somewhere at some angle)
end
end
for x=1,20 do
for y=1,20 do
love.graphics.line(somewhere at another angle)
end
end
for x=1,20 do
for y=1,20 do
love.graphics.line(somewhere at a third angle)
end
end
love.graphics.present()
end
[/code]
So 1200 simple lines. Even when love.graphics.line() is replaced with var = var inside the loops, it gives the same FPS.
I'm measuring FPS with the Steam overlay, if it matters.[/QUOTE]
I just ran that code ontop of my raytracer and still got 60+ fps. Have you tried just using the default run function?
[editline].[/editline]
Just ran it again with 8 cos operations each line and was still fine.
[editline].[/editline]
[QUOTE=mojangsta;49769816]
No. Either your CPU is way better than mine (Q6600) or I'm doing something seriously wrong somewhere.
[/QUOTE]
It is better but still any modern cpu should tear through a couple thousand flops. Are you calling any c libraries during the maths?
Sorry, you need to Log In to post a reply to this thread.