• What are you working on?
    5,004 replies, posted
welcome back
[IMG]http://i.imgur.com/mHmGa2O.png[/IMG] Raw C -> C# API port for Vulkan API 1.0.3.1 running on Vulkan 1.0.2.0 driver on a graphics card that doesn't even support Vulkan. FUCK. MY. LIFE. But whatever, i managed to install 1.0.2.0 (AMD, because fuck releasing the latest version on day one, right?) on home PC. Time to test it properly now. [editline]17th February 2016[/editline] I ported all 3776 lines of C code from vulkan.h, you have no idea how my hands hurt right now. [editline]17th February 2016[/editline] [url]https://github.com/cartman300/Vulkan.NET[/url] [editline]31th February 1987[/editline] [img]https://i.imgur.com/W0YbTrs.png[/img] It works! It's a simple demo which enumerates all the GPUs on the computer.
More doodling. [vid]https://fat.gfycat.com/SereneLivelyCreature.webm[/vid]
[QUOTE=cartman300;49756236][IMG]http://i.imgur.com/mHmGa2O.png[/IMG] Raw C -> C# API port for Vulkan API 1.0.3.1 running on Vulkan 1.0.2.0 driver on a graphics card that doesn't even support Vulkan. FUCK. MY. LIFE. But whatever, i managed to install 1.0.2.0 (AMD, because fuck releasing the latest version on day one, right?) on home PC. Time to test it properly now. [editline]17th February 2016[/editline] I ported all 3776 lines of C code from vulkan.h, you have no idea how my hands hurt right now. [editline]17th February 2016[/editline] [url]https://github.com/cartman300/Vulkan.NET[/url] [editline]31th February 1987[/editline] [img]https://i.imgur.com/W0YbTrs.png[/img] It works! It's a simple demo which enumerates all the GPUs on the computer.[/QUOTE] Wouldn't it make more sense to generate the binding from the specification, there is an XML version avaliable at [url]https://github.com/KhronosGroup/Vulkan-Docs/blob/1.0/src/spec/vk.xml[/url] . This is how OpenTK works for GL and I'm pretty sure this is how the Nvidia C++ wrapper works too.
[QUOTE=ben1066;49756668]Wouldn't it make more sense to generate the binding from the specification, there is an XML version avaliable at [url]https://github.com/KhronosGroup/Vulkan-Docs/blob/1.0/src/spec/vk.xml[/url] . This is how OpenTK works for GL and I'm pretty sure this is how the Nvidia C++ wrapper works too.[/QUOTE] It would have taken me longer to make sense out of that xml file and make a proper generator than to do it by hand. And besides, most of the time went into having sexual intercourse with the graphics drivers than writing the api. I wanted to complete it asap, i can write a generator for the next version or something.
[QUOTE=Overv;49756011]Fuck this is going to be [url]open.gl[/url] all over again. I hope to start writing a tutorial there in about a week when I've finished my uni projects.[/QUOTE] Please post here when you make it happen! I love your OpenGL tutorials.
[QUOTE=thatbooisaspy;49755703]Holy crap the Vulkan specification is awesome! It's C like OpenGL but Nvidia created a C++ wrapper so you can do stuff with objects like this: [CODE] VkImageCreateInfo image = {}; image.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; image.pNext = NULL; image.imageType = VK_IMAGE_TYPE_2D; image.format = depthFormat; image.extent = { width, height, 1 }; image.mipLevels = 1; image.arrayLayers = 1; image.samples = VK_SAMPLE_COUNT_1_BIT; image.tiling = VK_IMAGE_TILING_OPTIMAL; image.usage = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT; image.flags = 0; [/CODE][/QUOTE] That's very similar to how you do things in DirectX 11/12, albeit without the nice C++ stuff that WTF Nuke mentioned. It's one of the reasons I actually like using the D3D API. I haven't had much of a chance to play with Vulkan yet, but I am very interested in doing so. Maybe this weekend!
[QUOTE=Ac!dL3ak;49753060][...] I am terrible at communication. I have social anxiety issues, and this is the most I have ever posted in a thread on any forum in my whole online career (if you want to call it that) - combined with the fact that I am putting up something that is decently personal to me, it's not surprising that I may have difficulty communicating with others (which kills me, by the way). This means that in a discussion, I require clarity on the exact concepts that are being discussed, so that my answer can be relevant to the conversation. However, I don't believe that compromises my ability to design a language, and I'm not really interested in promoting it right now - I honestly want criticisms on how I can make it better. When you say it feels like sloppy low-effort work on my part, I don't understand why you're saying that.[/QUOTE] That explains it then. Normally you'd get this kind of release from people who are normally good at communication when they really don't try, which is why that was my first impression here. [QUOTE]I don't understand how the repository is not clean; it seems fairly straightforward to me. Keep in mind that this would be the third or fourth time that I've rewritten how the language itself works, and for the most part I was working on the supporting library for the language itself (fiber).[/QUOTE] Please read the whole line together: It's not clean in that it's inconsistent. If you temporarily have inconsistent state that's fine, but it really shouldn't happen on the main branch. I may be straightforward for [I]you[/I] since you're aware of what's outdated and what's WIP, but for everyone else it's almost impossible to tell. [QUOTE]If you give me some time, I will write an actual specification for Carbon.[/QUOTE] That would be great! I'd gladly go through it and give you more thorough feedback than what's possible now. [editline]17th February 2016[/editline] [QUOTE=Karmah;49754483]Perhaps it would be best to just wait a while, this way the bugs get ironed out too.[/QUOTE] I'll try to add Vulkan support to Effektor (which shouldn't be too difficult, emitting a binary assembly is more straightforward than correctly formatting a shader source), so I'll have to do some bootstrapping anyway :v: I really should make a C++ port of this too, eventually. [editline]17th February 2016[/editline] [QUOTE=Overv;49756011]Fuck this is going to be [url]open.gl[/url] all over again. I hope to start writing a tutorial there in about a week when I've finished my uni projects.[/QUOTE] [url]vulk.an[/url]? [editline]17th February 2016[/editline] [QUOTE=cartman300;49756236][...] [url]https://github.com/cartman300/Vulkan.NET[/url] [...][/QUOTE] This seems somewhat incomplete, at least [URL="https://github.com/cartman300/Vulkan.NET/blob/master/Vulkan.NET/Structs.cs"]with all those type aliases[/URL]. How difficult would it be to bind the C++ API directly, or would it be better to port the wrapper to CLR?
[QUOTE=Tamschi;49758258] [url]vulk.an[/url]? [/QUOTE] [url]https://en.wikipedia.org/wiki/.an[/url] Seems that TLD has been discontinued.
[QUOTE=Tamschi;49758258]That explains it then. Normally you'd get this kind of release from people who are normally good at communication when they really don't try, which is why that was my first impression here.[/QUOTE] I'm trying to do what I can, but it's not easy for me. Just bear with me, I guess? [QUOTE=Tamschi;49758258]Please read the whole line together: It's not clean in that it's inconsistent. If you temporarily have inconsistent state that's fine, but it really shouldn't happen on the main branch. I may be straightforward for [I]you[/I] since you're aware of what's outdated and what's WIP, but for everyone else it's almost impossible to tell.[/QUOTE] I guess my main issue is that I really don't like deleting history, and removing all of the inconsistent state is what would cause that (I actually have a decent reason for not wanting at this point to delete history, but I digress). I'll back up the repository to Dropbox or something and delete everything that's not important. [QUOTE=Tamschi;49758258]That would be great! I'd gladly go through it and give you more thorough feedback than what's possible now.[/QUOTE] I'm working on it right now. I fucking love LaTeX.
[QUOTE=Ac!dL3ak;49759896]I'll back up the repository to Dropbox or something and delete everything that's not important.[/QUOTE] that's like totally missing half of the point of even using version control
[QUOTE=DarKSunrise;49759910]that's like totally missing half of the point of even using version control[/QUOTE] The other half is not cluttering up your shit with shit you don't need; the point of doing this is peace of mind for me.
I am not working on anything but I have interesting idea to share with you guys: Material science is just real-life shaders science.
progress [t]http://i.imgur.com/9vcRC1p.png[/t] I'm entering a phase of development where i'm not completely sure how all the code works, but hey as long as it works, right? Also i found out that i can draw nice isometric building sprites.
[QUOTE=Tamschi;49758258]This seems somewhat incomplete, at least [URL="https://github.com/cartman300/Vulkan.NET/blob/master/Vulkan.NET/Structs.cs"]with all those type aliases[/URL]. How difficult would it be to bind the C++ API directly, or would it be better to port the wrapper to CLR?[/QUOTE] It's complete (except for a few extensions), these aliases are because there's this in the header [code] VK_DEFINE_HANDLE(VkDevice) VK_DEFINE_HANDLE(VkQueue) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) VK_DEFINE_HANDLE(VkCommandBuffer) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) [/code] which are just defined as pointers anyway [code] #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; [/code] As for uint32_t, uint8_t and the like, it's easier to make a type alias than to replace every used tpye.
So the email I sent to my college's president went over pretty well and Now i'm meeting with my campus' provost to talk about computer science education at our campus. I'm gonna do some research into the topic from papers from the ACM. My key points: * As a community college, we focus on developing professional skills. Students at my campus aren't getting enough practical experience developing projects with real-world applications. We write 5 line java programs to demonstrate a concept. We need to, instead, be given more complicated projects (perhaps for a final project per semester), and emphasize the importance of personal projects. None of my classmates that I've talked to are working on outside projects because nobody has told them they should be. Too many people rely on in-class instruction to learn programming and then graduate knowing nothing. * In the mathematic department, you take a competency test to determine if you qualify for calculus, pre-calc, etc. and if you don't you can test all the way down to a class where they assume you've never seen a number before. In computer science, those with highschool CS experience are lumped together with those without highschool CS experience. I think there ought to be a "never even heard of a computer" type CS class that you can test out of to get into an "intro to computer science class", because right now CSC200 is the former, not the latter, and I think that those who took CS in highschool ought to be placed a level higher than those who have never touched a keyboard in their lives. * Even in classes where I've been given some pseudo-real life applications to program, such as a management program which demonstrates different data structures, each project has been on an individual basis, with no cooperation being promoted between students. I think that group projects ought to be emphasized more. * CS classes at my campus assign little to no outside work/homework. As CS freshman may spend 30 minutes a week outside of class working on a programming assignment, while at the same time spending a few hours each week working on a history or english assignment. While I recognize that a well-rounded education is important, I think the ratio of major to non-major studies is too low and that more emphasis ought to be place on one's actual computer science major * The professors (only 2 of them) suck and everyone knows this. I can go on an on about this. It makes me furious.
IMO it's unnecessary to hand hold people and tell them to work on personal projects. If you're not already motivated and interested in CS enough to have personal projects on the side, all the better for the students who actually give a shit. You're already competing with lowest common denominator students who just want a paycheck, why help them close the gap and make it harder for you to get a job?
[QUOTE=srobins;49761905]IMO it's unnecessary to hand hold people and tell them to work on personal projects. If you're not already motivated and interested in CS enough to have personal projects on the side, all the better for the students who actually give a shit. You're already competing with lowest common denominator students who just want a paycheck, why help them close the gap and make it harder for you to get a job?[/QUOTE] To attempt to have a positive impact on others' lives? If you think an employer would look for an attitude like yours, you may want to chill out a bit more. Regardless of your current employment status.
[QUOTE=Ricool06;49761926]To attempt to have a positive impact on others' lives? If you think an employer would look for an attitude like yours, you may want to chill out a bit more. Regardless of your current employment status.[/QUOTE] Luckily I'm capable of not blurting out my unpopular but sincere opinions in interviews, like most reasonable human beings, so I don't think that will ever be an issue for me. I'm just being honest among peers on a forum, I don't see a good reason to help people pretend to be passionate about their work just so they can land a job and get back to not caring about anything other than doing as little work as possible. I'm not trying to be a dick, and I'm open to hearing why you disagree, but I think if you need someone to tell you that you should be doing more than just homework, you're already in trouble.
Playing around with the new Leap Motion Controller Orion Beta ([URL="https://developer.leapmotion.com/orion"]devsite[/URL]) Tracking seems a lot better than before, still some kinks at the moment but a big improvement [video=youtube;S90vH4WakaU]http://www.youtube.com/watch?v=S90vH4WakaU[/video]
[QUOTE=BackwardSpy;49758095]That's very similar to how you do things in DirectX 11/12, albeit without the nice C++ stuff that WTF Nuke mentioned. It's one of the reasons I actually like using the D3D API. I haven't had much of a chance to play with Vulkan yet, but I am very interested in doing so. Maybe this weekend![/QUOTE] Yeah I muddled with DirectX a bit and it reminded it me of that. It shows how broken and shit the OpenGL api was in comparison :v: Hopefully Vulkan stays and I can try to convert my engine to vulkan after I try drawing a triangle by myself.
Which GUI library for Löve2D do you guys recommend to me? I would like to use one that is still maintained.
[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] loveframes, no doubt. someone forked it and made it work in 0.10. [editline]18th February 2016[/editline] [t]http://i.imgur.com/tSRKgg3.png[/t]
[QUOTE=cartman300;49761610][...] As for uint32_t, uint8_t and the like, it's easier to make a type alias than to replace every used tpye.[/QUOTE] Sure, but they really should all be typesafe-ish [I]enum[/I]s or [I][Flags] enum[/I]s instead.
ahh loveframes is so bad. I should port my GUI to love2d so you don't have a horribly implemented and running gui. Along with fully featured text boxes(tm)
Still workin on animation in my engine. Quite a tricky thing to debug, a lot of things can go wrong. I'm slowly eliminating possibilities, although it would be nice to just have a simple model with 2 triangles on a simple 2 bone skeleton. [t]http://i.imgur.com/PA7WrB4.gif[/t]
That's the thing with making models work, either it works entirely or it doesn't work at all. Like getting a shaded triangle to load is basically the same as getting Sponza to load correctly.
[QUOTE=Handsome Matt;49763402]grid / axis / whatever mcwatters is working on[/QUOTE] yaoui and fuccboiGDX
I'm working on a AI controlled ragdoll parkour game. Still too early to post any screenshots or videos.
[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] Depends what you want it for. There's SUIT (was Quickie), which is a maintained immediate mode GUI framework. There's also GOOi, which I haven't looked at much at all, but it appears to be mobile oriented.
Sorry, you need to Log In to post a reply to this thread.