• What are you working on? v67 - March 2017
    3,527 replies, posted
I got a kernel panic by cleaning the chipset with the toilet paper. [editline]26th March 2017[/editline] [thumb]http://storage1.static.itmages.com/i/17/0326/h_1490518800_8357072_368c4b5cc2.png[/thumb] Compiled the latest release of u-boot and bodged up the wifi drivers into the linux kernel and compiled and got it to work with the ubuntu base filesystem. The internet works, the screen works, the buttons work! I am not really sure about the touch screen, but it should work. Eh, i'll bodge it up later when i get anything useful to display on the screen, currently it's being used via the serial. That's not how tablets are designed to be used as daily, but whatever... Also whoever designed the screen cover border plastic is a fucking idiot.
Working on C++ reflection using libclang to generate runtime introspection data: [IMG]https://puu.sh/v01rX/b50a1b2bc4.png[/IMG] becomes [IMG]https://puu.sh/v01oN/8d479a8f53.png[/IMG] with the interface making zero sense but the point being that the enum values can be looked up at runtime. Now to make this work for class hierarchies and members so the interface actually corresponds to the type hierarchy.
[QUOTE=JWki;52018575]Working on C++ reflection using libclang to generate runtime introspection data: [IMG]https://puu.sh/v01rX/b50a1b2bc4.png[/IMG] becomes [IMG]https://puu.sh/v01oN/8d479a8f53.png[/IMG] with the interface making zero sense but the point being that the enum values can be looked up at runtime. Now to make this work for class hierarchies and members so the interface actually corresponds to the type hierarchy.[/QUOTE] That's imgui right?
[QUOTE=Darwin226;52018630]That's imgui right?[/QUOTE] Yep.
I managed to make marching cubes work in a single voxel in Unity. [QUOTE] [img]http://i.imgur.com/1IVp3Jc.jpg[/img] [/QUOTE]
So I'm still a noob at this whole graphics thing. With the simple models I've got, and the general shitness of the environment, I've decided that prettier graphics is likely going to come from the lighting side (ie something i can actually do) HDR is the first thing I need to implement, but for that you need to actually figure out wtf is going on with your colour pipeline. Now, in the past, I've given up at the first hurdle of linear colour because everything turned out looking weird. This time round I've realised that this is because I need to apply the same transform to my ambient, otherwise everything looks super bright in linear colour Uncorrected: [IMG]http://i.imgur.com/EvUzbBn.png[/IMG] Corrected: [IMG]http://i.imgur.com/cbBB2mZ.png[/IMG] It seems to be a bit.. flatter, but more natural perhaps. I'm not 100% sure on this, and I may also be doing this wrong, so if anyone knows if this looks wrong let me know. I suspect I may just need to brighten up the character model, and the game will look a little more uniform overall (which is a good thing, as I can pretend that I'm approaching an art style rather than the bland disconnected mess it really is)
Since Braxen's Facepunch Ratings Tracker script has been shut down, I created a Node script that scrapes a Facepunch thread and lists the top posts! It also has the ability to output post information to a JSON file. Demo: [url]https://asciinema.org/a/95yp8i8nhym9gsn9ptq478t5a[/url] (robotboy asciinema embeds pls) [URL="https://github.com/bmwalters/fp-rating-scraper"]GitHub[/URL]
Bash for Windows is a godsend. I now don't have to manually copy and paste all my code into wandbox to make sure it compiles on Clang + GCC. No hassle of a VM either because it's running natively. I see no reason to keep around my Ubuntu install anymore, might as well free up 60ish gigs.
[QUOTE=WTF Nuke;52022386]Bash for Windows is a godsend. I now don't have to manually copy and paste all my code into wandbox to make sure it compiles on Clang + GCC. No hassle of a VM either because it's running natively. I see no reason to keep around my Ubuntu install anymore, might as well free up 60ish gigs.[/QUOTE] What about [URL="https://www.cygwin.com/"]cygwin[/URL] or [URL="https://babun.github.io/"]babun[/URL] or [URL="http://www.mingw.org/"]mingw[/URL]?
It's a huge pain to set up clang properly, especially if you want additional tooling which means you have to build clang from source. They also have various issues and problems that are just a pain to deal with. Granted I didn't try it for too long, but I remember running into various problems with mingw. Another big thing was that this just worked right out of the box, didn't have to fuss with an annoying installation process.
[QUOTE=cartman300;52022421]What about [URL="https://www.cygwin.com/"]cygwin[/URL] or [URL="https://babun.github.io/"]babun[/URL] or [URL="http://www.mingw.org/"]mingw[/URL]?[/QUOTE] I think MSYS2 is the best if you want gcc toolchain for windows.
[QUOTE=zerf;52021639]Since Braxen's Facepunch Ratings Tracker script has been shut down, I created a Node script that scrapes a Facepunch thread and lists the top posts! It also has the ability to output post information to a JSON file. Demo: [url]https://asciinema.org/a/95yp8i8nhym9gsn9ptq478t5a[/url] (robotboy asciinema embeds pls) [URL="https://github.com/bmwalters/fp-rating-scraper"]GitHub[/URL][/QUOTE] That asciinema is pretty damn cool! So is the Node script of course.
[QUOTE=WTF Nuke;52022441]It's a huge pain to set up clang properly, especially if you want additional tooling which means you have to build clang from source. They also have various issues and problems that are just a pain to deal with. Granted I didn't try it for too long, but I remember running into various problems with mingw. Another big thing was that this just worked right out of the box, didn't have to fuss with an annoying installation process.[/QUOTE] I spent so long trying to get this to work on my Surface, and honestly had the opposite conclusion of you: I regretted running out of disk space and having to remove my Ubuntu install. I just wanted to run Clang-Tidy for static analysis of my codebase, tbh, along with testing a different compiler. My new work machine is Win7 though, so I can't try to subsystem. And I didn't think of trying it on my Surface, damnit. Also, someone fibbed to me about my machine, or took the machine I was supposed to have. I think I know who, and my boss would be fucking pissed if she knew, but its not worth the drama or fuss the other person would cause (his division rivals mine for income, ours is tons of R&D grants, their's is tons of production dosh). 7700k I was promised became a 2700k, which thankfully still has 8 threads and is faster than my 4300u, but still I was so hyped for a 7700k :c I want to move to Win10 since I've grown used to it and see no big problems with it, and the subsystem is a big plus, but I know that aforementioned person may go into conniptions about that. On the topic of actual programming though: holy hell is this whole "slicing" thing a nest of deceptively simply problems (I'm starting to think this is the entire field of discrete geometry in a nutshell). Take generation of perimeters, for example - these are the simple toolpaths that form the outer skin of a printed object, and just follow the contour of each object at a given height. Seems simple, right? Maybe just take your input polygon, make sure the points are in a sensical order, and create a toolpath that traverses the whole path defined by that polygon. Well, its not that simple and turns out the entire thing feels like a never-ending labyrinth of edge cases.
[QUOTE=WTF Nuke;52022386]I now don't have to manually copy and paste all my code into wandbox to make sure it compiles on Clang + GCC. .[/QUOTE] Speaking about that, it may probably be useful to move the project to cmake just for the sake of convenience of those who don't use windows. Basically speaking about myself here as well, as your post reminded me of your ecs which i haven't checked for ages(as well as this thread actually), but I couldn't just clone & build it for obvious reasons.
[QUOTE=Icedshot;52021500]So I'm still a noob at this whole graphics thing. With the simple models I've got, and the general shitness of the environment, I've decided that prettier graphics is likely going to come from the lighting side (ie something i can actually do) HDR is the first thing I need to implement, but for that you need to actually figure out wtf is going on with your colour pipeline. Now, in the past, I've given up at the first hurdle of linear colour because everything turned out looking weird. This time round I've realised that this is because I need to apply the same transform to my ambient, otherwise everything looks super bright in linear colour Uncorrected: [t]http://i.imgur.com/EvUzbBn.png[/t] Corrected: [t]http://i.imgur.com/cbBB2mZ.png[/t] It seems to be a bit.. flatter, but more natural perhaps. I'm not 100% sure on this, and I may also be doing this wrong, so if anyone knows if this looks wrong let me know. I suspect I may just need to brighten up the character model, and the game will look a little more uniform overall (which is a good thing, as I can pretend that I'm approaching an art style rather than the bland disconnected mess it really is)[/QUOTE] If your ambient is just a color value, you should not have to do any gamma correction to it. Bare in mind though that if you have configured your lighting for a [B]non-linear[/B] pipeline to begin with, you will pretty much have to redo it once you've linearized (is that even a word?) everything. A proper linear lighting pipeline should appear softer, less saturated, and be easier to tweak. The best way to test this is with very bright, white lights combined with colored models, or by checking the falloff on a sphere: [t]https://docs.unity3d.com/353/Documentation/Images/manual/LinearLighting-0.jpg[/t] I also recommend checking out this Unity page which explains it very well, and gives some clues as to what you can look for to determine if you've done it right: [url]https://docs.unity3d.com/353/Documentation/Manual/LinearLighting.html[/url]
I updated my old paint chip generator with some new modifiers and base colors, because why not. [URL="http://berkin.me/colors"]http://berkin.me/colors[/URL] [img]http://i.imgur.com/9IixAgj.png[/img]
[t]https://vgy.me/wrASIR.png[/t] Finally we can at least know the true color of this very abstract concept
[QUOTE=LennyPenny;52024864][t]https://vgy.me/wrASIR.png[/t] Finally we can at least know the true color of this very abstract concept[/QUOTE] I feel like this title would better describe that awful teal color that Russians use inside their military vehicles and spacecraft.
But it's [I]easy on your eyes [/I]
[QUOTE=fewes;52024155]If your ambient is just a color value, you should not have to do any gamma correction to it. Bare in mind though that if you have configured your lighting for a [B]non-linear[/B] pipeline to begin with, you will pretty much have to redo it once you've linearized (is that even a word?) everything. A proper linear lighting pipeline should appear softer, less saturated, and be easier to tweak. The best way to test this is with very bright, white lights combined with colored models, or by checking the falloff on a sphere: [t]https://docs.unity3d.com/353/Documentation/Images/manual/LinearLighting-0.jpg[/t] I also recommend checking out this Unity page which explains it very well, and gives some clues as to what you can look for to determine if you've done it right: [url]https://docs.unity3d.com/353/Documentation/Manual/LinearLighting.html[/url][/QUOTE] Thank you very much, this is super useful for me And my ambient is a coefficient multiplied by the light colour post linearisation, so if I don't make it linear its too bright (?) relative to the old ambient definition which makes everything look weird, but I could also just change it manually. Given that the transformation is a constant though, its easier (and more compatible with other projects) to transform the ambient coefficient Also, TIL that pow(col, 2.2f) is a terrible *and* slow way to do a gamma transform Edit: I feel like its weird though that we transform in linear colour spaces to be able to display linear colour ramps (visually) from linear values, but we don't go into perceptual colour space which means that its still not linear to human vision
I've been away from my main setup due to helping family move, so I haven't been able to work on my main projects at all. However, I finally "snapped" a bit and installed Unity on a computer over here. Messed around a bit and got some inspiration to make a Line Rider clone. [URL="https://awesomex.itch.io/lane-rider"][t]https://img.itch.io/aW1hZ2UvMTMwODIzLzYwMDY5OC5wbmc=/250x600/hXLSf2.png[/t][/URL] [url]https://awesomex.itch.io/lane-rider[/url] It also just so happens to be my first Itch.io submission.
[QUOTE=sarge997;52025786]I've been away from my main setup due to helping family move, so I haven't been able to work on my main projects at all. However, I finally "snapped" a bit and installed Unity on a computer over here. Messed around a bit and got some inspiration to make a Line Rider clone. [URL="https://awesomex.itch.io/lane-rider"][t]https://img.itch.io/aW1hZ2UvMTMwODIzLzYwMDY5OC5wbmc=/250x600/hXLSf2.png[/t][/URL] [url]https://awesomex.itch.io/lane-rider[/url] It also just so happens to be my first Itch.io submission.[/QUOTE] [img]http://i.imgur.com/YXXTj2g.png[/img] [url=https://www.youtube.com/watch?v=LMgnZYpbM-M&t=1m15s]why am i not disintegrating[/url]
[QUOTE=antianan;52023902]Speaking about that, it may probably be useful to move the project to cmake just for the sake of convenience of those who don't use windows. Basically speaking about myself here as well, as your post reminded me of your ecs which i haven't checked for ages(as well as this thread actually), but I couldn't just clone & build it for obvious reasons.[/QUOTE] Yeah I finished implementing all the features for version 2.0 (that I can think of) so I started looking at cmake last night and trying to figure out how to make it work. I don't really like build tools though so I'll probably start work when I get a little inebriated on the weekend. In the meantime though I have been building the test suite with this: [code] clang++ -I../../../catch-1.7.1/ -std=c++14 test/test_main.cpp test/container_test.cpp test/entity_test.cpp test/event_test.cpp test/metafunctions_test.cpp [/code] You should sub the -I with your [URL="https://github.com/philsquared/Catch"]catch[/URL] directory. I think I will also add some examples to showcase the library more.
[QUOTE=Icedshot;52025361] And my ambient is a coefficient multiplied by the light colour post linearisation, so if I don't make it linear its too bright (?) relative to the old ambient definition which makes everything look weird, but I could also just change it manually. Given that the transformation is a constant though, its easier (and more compatible with other projects) to transform the ambient coefficient [/QUOTE] What does your lighting equations look like? The ambient term should simply be a color value you multiply with your diffuse color and add to the output. If you are sampling the diffuse color from a texture, you'll need to linearize it, but the ambient color should be good to go. Lighting/surface equation should be: [code] float3 diffCol; // Sample from texture float3 specCol; // Sample from texture (don't linearize) float3 ambientLight; // Defined as a color value (probably, unless you are sampling SH probes or something) float3 directLight; // Calculated lambert term, multiplied with light color, falloff float3 spec; // Calculated Blinn/Phong/Cook-Torrence/GGX/whatever, multiplied with light color, falloff float3 col = diffCol * ambientLight + diffCol * directLight + specCol * specularLight; [/code] [QUOTE=Icedshot;52025361] Also, TIL that pow(col, 2.2f) is a terrible *and* slow way to do a gamma transform [/QUOTE] While it it true that it will cost you some perf in a shader, it really is not too bad. The proper way of doing it is utilizing your hardware, which can do the adjustment for you when sampling the texture, and do the inverse when outputting the final buffer to the screen. There is nothing wrong with doing col = pow(col, 2.2) though, it will result in correct linearization. If you are very worried about the perf cost, and cannot (for whatever reason) do the hardware solution, you can do the cheaper variant col = col * col. [QUOTE=Icedshot;52025361] I feel like its weird though that we transform in linear colour spaces to be able to display linear colour ramps (visually) from linear values, but we don't go into perceptual colour space which means that its still not linear to human vision [/QUOTE] The point of transforming the inputs is not to display a linear color ramp, it is to make sure the lighting calculations are performed correctly (all inputs are linear).
Decided to give it a try at doing something for an android device in C# Wrote an OpenGL application which can render lines, hooray! I drew this text in Inkscape and exported as HPGL. Very simple format, might use it for resources in a video game that only uses vector graphics. [thumb]http://carp.tk/$/firefox_2017-03-29_10-53-43.png[/thumb] [editline]29th March 2017[/editline] [thumb]http://carp.tk/$/inkscape_2017-03-29_10-54-47.png[/thumb]
[QUOTE=Berkin;52024833]I updated my old paint chip generator with some new modifiers and base colors, because why not. [URL="http://berkin.me/colors"]http://berkin.me/colors[/URL] [img]http://i.imgur.com/9IixAgj.png[/img][/QUOTE] Tree piss is kinda beautiful
[QUOTE=fewes;52027150]What does your lighting equations look like? The ambient term should simply be a color value you multiply with your diffuse color and add to the output. If you are sampling the diffuse color from a texture, you'll need to linearize it, but the ambient color should be good to go. Lighting/surface equation should be: [code] float3 diffCol; // Sample from texture float3 specCol; // Sample from texture (don't linearize) float3 ambientLight; // Defined as a color value (probably, unless you are sampling SH probes or something) float3 directLight; // Calculated lambert term, multiplied with light color, falloff float3 spec; // Calculated Blinn/Phong/Cook-Torrence/GGX/whatever, multiplied with light color, falloff float3 col = diffCol * ambientLight + diffCol * directLight + specCol * specularLight; [/code] [/cpp] [/quote] Ah i see with that definition ambient is actually just an xyz modifier to diffuse colour, mine is just a constant, but if you linearise your diffuse colour then your ambient modifier/colour is too high relative to the new colour right (compared to the old definition)? You don't *need* to do it because you can just lower it manually, but if you want to maintain similar lighting as before then you need to [QUOTE=fewes;52027150] While it it true that it will cost you some perf in a shader, it really is not too bad. The proper way of doing it is utilizing your hardware, which can do the adjustment for you when sampling the texture, and do the inverse when outputting the final buffer to the screen. There is nothing wrong with doing col = pow(col, 2.2) though, it will result in correct linearization. If you are very worried about the perf cost, and cannot (for whatever reason) do the hardware solution, you can do the cheaper variant col = col * col. [/QUOTE] Cost me about 0.5ms in my shader (but then this is OpenCL which specifies accuracy over speed sometimes), pow(col, 2.2) is also not actually that accurate compared to the sRGB curve provided apparently [url]https://chilliant.blogspot.co.uk/2012/08/srgb-approximations-for-hlsl.html[/url]
I've spent the last two workdays trying to get VS to work on my work machine. There's something fucky with the user rights and registry access, as VS2017 fails to register the JIT debugger (which is a known issue, but its really bad on this system), and VS2015 fails to install or find "CL.exe" every time. Getting Clang to work has been a pain in the ass, because the user rights cause that to get all fucky and weird, and everything just kinda sucks. This kind of shit is just exhausting. This system is really fucked up, too. I don't know what the default install package contains for these systems but somehow I have folders containing various parts of Visual Studio 8.0, 9.0, 10.0, and 11.0. Some environment variables never get added to my system env variable list and some get duplicated across the system and user lists. VS2015 repair tool reports that the VS2015 redist package is already installed on this system and I should remove it from the system before trying to repair again, but it doesn't appear in the "add or remove programs" list and I can't actually find the redist items anywhere on my hard drive. Wtf? I've tried using CCleaner to clean out the registry but that hasn't done anything (nor did restoring the registry from the pre-clean registry save I did). I'm out of fucking ideas, except just whining to the person who did this until they let me upgrade to a clean install of W10. Its now workday 3 of dealing with this shit and I haven't been able to build or test any of my code since last week. And the person I need to talk to is in a meeting with the DoD for at least an hour more. Yay :unimpressed:
visual studio will fail to install properly if you have certain versions of it installed so you'll probably just want to uninstall everything related to it and reinstall the version you need
[QUOTE=Berkin;52024833]I updated my old paint chip generator with some new modifiers and base colors, because why not. [URL="http://berkin.me/colors"]http://berkin.me/colors[/URL] [img]http://i.imgur.com/9IixAgj.png[/img][/QUOTE] [img]http://i.imgur.com/SNaXxuV.png[/img] I see that sneaky Facepunch color in there
Sorry, you need to Log In to post a reply to this thread.