Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 29 Jul 2001
Offline Last Active Today, 09:44 AM

#5282493 GIT vs Mercurial

Posted by Promit on 21 March 2016 - 07:46 PM

I hate both. But I hate Git less and there's a large community based around it, GitHub being ground zero. For ease of use and all around sanity, Subversion is still vastly superior. Subversion also goes ballstic and then implodes on most branch merges, though. Git will hassle you constantly, about inane bullshit they could've easily fixed. Once in a while it will detonate more seriously. But the issues are manageable, and you gain a very capable and flexible version control system. Light history editing (particularly commit messages) and sane merges are fantastic to have. Git's also finally starting to grapple with large file management seriously, but another option is simply to run those things out of Subversion.


Mercurial doesn't support partial/cherry picked commits, on purpose. You have to play games with shelving extensions and other nonsense. I assume this is great for web developers or something. As far as I'm concerned, this is so far out of touch with normal software development that I refuse to deal with it.

#5282397 Math I need to know to make shaders

Posted by Promit on 21 March 2016 - 12:28 PM

Computational geometry is the missing piece in what people have listed so far. Also consider robotics courses, as they are excellent primers in handling coordinate transformations.

#5282278 Efficient resource manager for OpenGL in C++?

Posted by Promit on 20 March 2016 - 11:44 PM

I'm getting the feeling everybody's not on the same page about what a "resource manager" is.

#5282275 Too good to be true?

Posted by Promit on 20 March 2016 - 11:29 PM


1. Buy RPG Maker MV for $80.
2. Craft an RPG storyline over the course of several months - say $10k worth of labour.
3. Make a RPG using premade assets.
4. Throw in a couple of songs not in the kit for flavor.
5. Release it on the App Store, because you can legally release games made with the kit even using the kit's assets AFAIK - just read the terms
6. Probably make zero dollars, since about eight million games are published per second and you did no marketing



#5282274 Efficient resource manager for OpenGL in C++?

Posted by Promit on 20 March 2016 - 11:19 PM

I just store them in a vector, and pass the array index around inside an opaque handle ¯\_(ツ)_/¯ Also keep a map around for string to index lookups. Right now indexes are never reused, makes it easier to track use-after-delete.


Of course things get rather a lot more complex with streaming.

#5282204 Object Space Lightning

Posted by Promit on 20 March 2016 - 04:48 PM

I went over the presentation yesterday, and it's fascinating. I'm all in favor of exploring alternative approaches to shading, and this is definitely a very different set of trade-offs. That said, I don't get the comparisons to REYES and overall it seems like a very special purpose, application-specific approach to rendering. They spend a good amount of time talking about fixing it to work for terrain, after all. What on earth would happen to it if you gave it general purpose world geometry, like you'd see in a Battlefield game? And as you correctly mentioned, it's terribly sensitive to the structure of texture space for the models you feed it.


I simply can't see it as a basis for a general purpose rendering pipeline.

#5282145 How secure is it to host a server from home?

Posted by Promit on 20 March 2016 - 10:08 AM

<Obligatory Clinton joke>



Although I have absolutely no idea if it is secure to do it from home.

The physical location of the machine is entirely unimportant. Security is about configuration, surface area, patches, and monitoring. Securing a server is difficult but it's a good skill to learn, particularly when it's unlikely that anyone actually wants to hack you. But:



Is there a possibility of someone "hacking" into my machine and having access to files in it just by knowing the ip of the machine? 

Absolutely yes.


Our code server is configured with an absolute minimum number of services, and the services that do run are running off non-standard ports. Root logins are disabled, and other logins are only for whitelisted usernames and only via private key authentication. Access to the server itself is based off whitelisting, and there are a few misc tools like fail2ban running that monitor for suspicious activity. Most of these choices are focused around minimizing the surface area for an attack, and making it difficult to even find the server. The more a server has to advertise itself to the world and provide services, the harder these things get.

#5281694 DBA still a 1099 or no

Posted by Promit on 17 March 2016 - 10:25 AM

You should probably seek professional advice. That said, the long and short of it is that you should expect a 1099-MISC and the money will be taxed as personal income on a single tax return. Remember, DBA is an alias for you personally. It makes no difference which account the money lives in, and the concept of paying yourself from the DBA is nonsense. You seem to think that maybe a DBA is some kind of LLC-lite and it absolutely isn't. It is not even a separate entity. The DBA just says: "dear IRS, sometimes I'm Bob and sometimes I'm Dave, but they're both me so don't separate the two."


Note for the future that the core identifying value is your tax ID number, which in the case of a DBA is your social security number. A separate return requires a separate tax ID, which in turn involves a somewhat elaborate registration process.

#5281684 Brace yourself, Shader Model 6.0 is coming

Posted by Promit on 17 March 2016 - 09:32 AM

Samsung JS8500 series TV. Not the fanciest of HDR displays, but HDR nonetheless.

#5281671 Brace yourself, Shader Model 6.0 is coming

Posted by Promit on 17 March 2016 - 08:25 AM

Why is HDR support coming next year, but I bought an HDR screen last year? Somebody dropped the ball.

#5279590 Choosing between internships

Posted by Promit on 04 March 2016 - 08:12 PM

I've seen "startup indie studio" used to describe everything from two person home-based operations to fifty plus person full blown companies. The devil is in the details - who are these people, how serious are they, what's the background, what's the pay, is there an opportunity for post-graduation employment, etc. Make sure you have a very clear idea of the work, expectations, etc. Do not allow them to make you an office assistant.


As for Motorola, I've been in internship programs managed well (Microsoft) and managed poorly (NVIDIA). I don't know where on the spectrum Moto falls, nor which team they're actually considering putting you in. In large corps, the actual group you're being placed into can make a huge difference. If they refuse to tell you, then I'd be very wary.

#5278300 Vulkan is Next-Gen OpenGL

Posted by Promit on 26 February 2016 - 08:55 AM

I vote for a new Vulkan forum, as I have no more interest in OpenGL but a strong one in Vulkan.

We traditionally create new forums reactively, not proactively. That is, we'll create a separate Vulkan forum if there's so much traffic and discussion that it's detrimental to the OpenGL forum. For the time being, this forum will be OpenGL and Vulkan. Should see about getting the name and description updated.

#5277464 make c++ more like glsl

Posted by Promit on 22 February 2016 - 10:42 AM

Naively, something like this:

vec3 xy(){
    vec3 v;
    v.z=0; // or whatever you want for a non-asked-for swizzle
    return v;

It'd be kind of tedious, but you could write out whatever swizzles you want as functions like that - there are only so many permutations for a 3D vector, and with a decent constructor defined, they would be one-liners.


In C#, this would probably be something I'd do with some read-only properties, which is effectively the same thing, just lets you do it without writing parentheses.

Honestly the function variety makes things eight thousand percent easier. That's what I did in my code, rather than play the ridiculous games required to get native-looking swizzles.

#5275682 Vulkan is Next-Gen OpenGL

Posted by Promit on 14 February 2016 - 06:18 PM

It turns out that when you get an API that matches the hardware closely, the exact behavior of the hardware matters a lot. Imagine that!


These types of issues, and sophisticated workarounds for them, are part of the driver voodoo that we've known for decades. Being able to tell the GPU exactly what we want and how has this key drawback - there's no promise we're telling it to do the right thing in the best way. There's no longer as much space for the driver to lie to us and fix it in the background*.



#5275576 Do game developers still have any reason to support Direct3D 10 cards?

Posted by Promit on 13 February 2016 - 03:05 PM

It's all about understanding your target market and development constraints. Sometimes it's simply that you would have to sacrifice too much performance, and the actual feature levels are secondary concerns. The wider you cast your hardware support net, the more difficult it gets to ensure that things work well across the board. For many devs, if they're supporting "old" hardware they are better served by going all the way back to D3D 9.


Steam HW survey currently shows DX10 GPUs at 15%, and presumably much of that population is not buying the latest greatest games.