Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 03 May 2007
Offline Last Active Jun 25 2013 11:55 AM

#4917182 What a good college must have?

Posted by on 27 February 2012 - 04:20 PM

What you learn in college is largely up to you.

What resources the college has isn't. You have to learn on your own regardless, but there's no need to make your life harder by paying for help that is bad, or isn't well suited to what you want to learn.

yeaah thats what I think too.

Don't get me wrong, there are some good schools out there but unless you're thinking MIT or Stanford or some other distinguished school, most state universities are going to be more or less the same. Realistically, the "help" that you will be paying all that $$$ for will be to have some Asian or Indian TA (who knows little English), who is most likely working on finishing their PhD thesis, so they have no time to look at, much less time to debug your code, nor explain why all your homework was wrong. Your professor will also ignore you for the most part because they are too busy trying to publish their papers and make tenure. You'll quickly discover that the students who get As in these classes are the ones that learned this material before they even got there (that's how I did it).

At a low cost state university, you may not have access to a state of the art AI lab nor access to some advanced coursework, but you'll get your homework done fast and so all your free time can be spent doing the things that really matter to you: whether it's spending time with your significant other, or learning more languages, APIs, math, or watching OCW videos, or programming to the wee hours, or reading all the nice books you cleaned out from the library because the other students are too busy partying to even care about their education. Posted Image

I'm not trying to sound negative--this picture of college is typical for a lot of folks and not too long ago there was some pretty long discussions about this over at the lounge. Best of luck.

#4915708 OpenGL 3.2+ and GLSL texturing

Posted by on 22 February 2012 - 05:53 PM

I tried replaceing the filtering on the RAW texture loader to use mipmaps and used gluBuild2DMipmaps(); but as soon as I ran it resulted in the same black cube. So my old texture loader that also used mipmaps was wrong due to this. I've looked around a bit about GLSL mipmaping and found the command texture2dLod(); So I'm going to persue that route at some point.

Yeah, if you use deprecated code with a core profile you sometimes get weird stuff like black textures Posted Image. I don't much about that GLSL command, but another way of generating mipmaps is by calling glGenerateMipmap () right after you load the texture:

// use trilinear filtering
glBindTexture(GL_TEXTURE_2D, textureId);
glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA, w, h, 0, GL_RGBA,GL_UNSIGNED_BYTE,pixels);

// generate mipmaps

#4914933 OpenGL 3.2+ and GLSL texturing

Posted by on 20 February 2012 - 02:28 PM

If you read Swiftless, he says:

In GLSL 1.50, we no longer have gl_ModelViewMatrix, gl_ProjectionMatrix, gl_Vertex, etc, etc

So it appears you cannot use the built-in texture coordinate array. Declare your own varying vec2 variable, set it to the attribute texture coordinate in the vertex shader, and feed it to the fragment shader. Also, don't use the built-in fragment color variable. Declare your own vec4. Something like this:

#version 150 core

uniform mat4 projectionMatrix;  
uniform mat4 viewMatrix;  
uniform mat4 modelMatrix;

in vec3 in_Position;
in vec2 in_TexCoord;

out vec2 out_TexCoord;

void main(void){
		out_TexCoord = in_TexCoord;
		gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(in_Position, 1.0);  

#version 150 core  

in vec2 out_TexCoord;
uniform sampler2D texture_color;
out vec4 FragColor;

void main(void){
		FragColor = texture2D(texture_color, out_TexCoord.st);

If that doesn't work, check the stuff that Karwosts mentioned above.

#4889000 How well do graduates from top universities perform and how does it feel comp...

Posted by on 30 November 2011 - 02:00 AM

Being admitted usually means you're good. Graduating from those University may be.
But by no means you can conclude that those who weren't admitted or didn't graduate from there aren't good enough. It's a falacy.
Mark Zuckerberg, Steve Jobs, Bill Gates and John Carmack... none of them even completed their degree studies.

It's the person, not the school what makes the difference.

John Carmack yes - but remember, rare isolated examples tell us little about general rules.

Rare isolated examples do tell us something about general rules. Namely, that the proposed rule is not a general rule. Rarity and isolation don't matter in the least if the counterexample is valid. For example, in calculus the Weierstrass function is continuous everywhere, but nowhere differentiable. This function is about the rarest and most isolated as they can get yet its existence is enough to shatter the general rule: All continuous functions are differentiable. Counterexamples are important because you cannot usually verify a general rule, but you can certainly falsify it, cf. Karl Popper's philosophy of science.

So we cannot conclude anything certain about those who didn't attend college. And even those who did attend the most prestigious schools sometimes end up not that much better than the average person. For example, there is a bio-chemistry PhD graduate from Stanford who drives taxi cabs in Singapore: http://thestar.com.m...03596&sec=focus I highly doubt that this situation was brought about involuntarily, but that's why I agree that

It's the person, not the school what makes the difference.

#4887419 Impossible to pursue my dream while in school.

Posted by on 24 November 2011 - 04:21 PM

I just want to make games or applications by my self and I don't care if I make a lot of money but I want enough so that I don't have to work.

Everyone works. There is no escaping it. The trick is that you need to enjoy your work enough that it won't feel like work to you. Don't make the mistake of splitting your life into work and play or you will be miserable. Work is play and play is play. I like the way Paul Graham puts it: You have to like what you do enough that the concept of free time seems mistaken. If you're always concerned about getting free time from your job so you can go do the things you enjoy, then you're in the wrong business. Personally, I'd leave any job that I don't like even if it means struggling to survive. (I've been there many times) If you really know what you want, your determination and enthusiasm will help you overcome most obstacles--that's why it's important that you do something that is meaningful to you or you won't have the drive to see it through.

#4885248 Suggestions on career choice, a software engineer

Posted by on 18 November 2011 - 02:18 AM

Time is more valuable than money, which is exactly why I incredibly mercenary about getting paid and paid well. Getting paid well allows me to do the things I enjoy and more importantly means I can afford to work less hours.

The reality is that while money might not equal happiness, it certainly helps.

I'd rather be in a position where I want to work more hours not less. (it means I like my job) Getting paid well is a wonderful thing to have and no doubt helps in achieving happiness. The problem isn't money, but the mentality in forcing yourself to do something you don't care about for the sake of money. Most often this is seen as an investment to obtain free time in the future to pursue the things you really enjoy. That investment also costs time and there is no guarantee that you will get free time even when you're financially secure. Also, passionate momentum tends to die down if it is not acted upon soon. I say if you want to do something, then just go do it because there's no better time than the present. Perhaps some will still hold back because of a true lack of resources, but thankfully today you don't need much to get started in things like programming or game development. A cheap computer and some open source tools will suffice--the rest is up to you.

#4885101 Suggestions on career choice, a software engineer

Posted by on 17 November 2011 - 02:50 PM

Here's what I suggest. Don't try to get a job doing something you enjoy. If you want to do something that you enjoy as your career, start a business. But if you're going to work for someone else, do something that will pay you the most money. Because all doing the thing you love for someone else is going to do is teach you to hate the thing you love. Then, spend your sizable paycheck and free time on doing the thing you love.

I don't agree with this philosophy because it assumes that you will eventually have free time to do the thing you enjoy. If anything, time is far more valuable than extra money. Life has taught me that it is very short so you should waste no time pursuing things you don't care about otherwise you will regret it later. On their deathbed, I've never seen anyone who cared about how little or how much money they made. The only thing I've seen is regret for not pursuing their dreams when they had a chance. It is far better to have tried and failed than to never have tried at all.

#4880422 Programming and best route to go

Posted by on 04 November 2011 - 04:15 AM

Hi, I am an equivalent of a junior in Devry's Game and Simulation programming degree. My knowledge in C++ is average and need to take more time to learn more. My question to all is, I reached a point in my classes where I am getting into Unreal UDK. I am really enjoying it, it looks so good. I have a few game ideas that I'd like to explore and possibly put out on an app store when I eventually get more of a grasp on it. Should I be gearing myself more to towards learning to use an engine or start from scratch like C# XNA Framework. Simple games seem to get the most attention. I just see learning C# as something that will be more beneficial because you can release something for mobile devices and make a little money at the same time. I dont see the Apple store to be very good unless you have hell of marketing and there is way too many apps to even get noticed. Just an opinion, Any suggestions/ advice from people who have been there done that ? All is appreciated

I couldn't help but notice the title of your post. The truth is there isn't really a "best route to go." If you enjoy what you are doing (e.g. programming), why would you want someone else to tell you what you "should" be doing? If you enjoy working with UDK, then continue with it. I really don't understand when someone says "I really enjoy doing this" but then they go around asking others to confirm their choices or to suggest a different choice. If you need others to confirm what you are doing then perhaps you really don't enjoy that activity and should spend more time thinking about what it is you want. I get the impression that you want to use your work as a means to make money or gain fame. There's nothing wrong with those, but there are easier ways to get them than with programming. Programming should be an end in itself--something you'd do even if no one paid you a single dime to do it or if no one ever praised your work. It sounds harsh, but that's the attitude of those who succeed in this business.

#4867757 What are exams supposed to measure

Posted by on 30 September 2011 - 04:28 PM

Especially these "speed writing contest"-type exams are something that I encountered multiple times so far... I generally feel a lot of "examination technique" cater to auxiliary abilities like speed and the ability to memorize large amounts of data in a short time, even if that is not the primary skill required to master the subject matter in question.

What are your experiences and opinions on this?

A exam just measures your ability to take an exam--nothing more. If you get good grades on your exams, then it means that your are good at taking exams; it doesn't mean anything about other skills that may be required in the real world. If they wanted to test your ability to program, they'd have you write a program. If they wanted to test your understanding of a concept, they'd have you explain it in detail in some presentation or give a lecture on the topic. It may seem like they are testing your comprehension of concepts, but they are not. Like you said, they are testing your ability to absorb information in a very short time. I've had many exams where I solve a problem completely different from the way we did it in class and the teacher even admits that it is correct, but it still gets marked wrong because I didn't do it the "right way. " (One striking example is where I used real analysis to prove a lemma in asymptotic analysis in order to get a trivial proof of the running time of some complicated algorithm by applying L'Hopital's rule.)

As such, there isn't much difference between being good at exams and being good at trivia. I approach it as some kind of silly game/sport where the students are the players and the teacher is the referee keeping track of score. Having high grades doesn't mean anything other than implying that you wasted a lot of time on something that no one will care about a couple years after you graduate. I've met plenty of high GPAs who can't program. (For the record, I have good grades but not because I put in extra study time--I have a good memory). In the end, school is largely a waste of time but it seems to be a necessary evil to obtain a descent paying job.

#4837273 C# Which direction should I head now?

Posted by on 19 July 2011 - 03:06 AM

So I ask how can I further my skills in C#?
Should I just develop random program to get a better feel for the language?
Are there things I should read up on? Examine other people's codes?
Books to learn from? Tutorials you recommend that really helped you?

I'm thinking about writing my own Text Based Game using the one I learned form the tutorial as reference. Start with a Text Based Game and develop majority of the features I want, then add static images and sound using XNA..
But I'm lacking the confidence? that I can actually write it and put it all together...
I really don't know what to do next, I have a basic understanding, but how can I improve?

I don't have experience in C#, but I do in other languages like Java, Python, and C++. I think there is no algorithm for what you are asking. There is no step by step guidance to get you from where you are at now to where you want to go. Some people are going to say do X. Others are going to say do Y. It may have worked for them, but it may not work for you. At some point you just have to ignore what people tell you and go do what you are passionate about. A lot of people just fool themselves and they think they really have a desire to do something but they reveal themselves when they start asking others for permission to go do the very thing they are "passionate" about. If you're thinking about making some game using XNA, then just go do it. Who cares if you fail and you end up writing code that is not as efficient or as elegant as you hoped for. If you're having fun and enjoying the process then why does it matter? You're a beginner anyway. People who have a burning desire to have a certain career, e.g. become an artist, musician, game developer, etc... or want to learn a certain skill are not going to be deterred by a lack of resources or failure.

If you want to be a writer, then you need to write. If you want to be a runner, then you need to run. Similarly, if you want to be a programmer, then you need to program. Program what? Anything. A programmer can't help but program. The point is to practice implementing your ideas. Come up with something. Anything. It doesn't need to be a game. Everyone has ideas, but not everyone can bring their ideas to life. You begin to distinguish yourself once you can implement your ideas. Don't say: I have an idea for a program X that does Y using Z. Show me the code. That's the difference.

You're concerned that you don't understand things like templates, generics, and other constructs, but that just means you haven't reached a point where you actually need to start using them. Once you've made a lot of mistakes, you will appreciate those language features more and you will be in a good position to learn them and remember them for life. For example, I remember when I was very new to programming thinking that namespaces and virtual functions were mysterious and I didn't even see the need for them. That's because most of my programs were small and I hadn't grasped OOP and I hadn't written enough programs to even warrant using them. If you program often enough, you will begin to understand why those features were added to the language and then it will start to make sense. After all, those features are not arbitrary--they were put in for a reason.

#4837249 Making a "Game" using C: Where should I start?

Posted by on 19 July 2011 - 01:34 AM

...C sucks anyway.

That's an interesting comment coming from an aspiring game developer. I guess this person has never heard of Unix, Quake, or John Carmack.

#4810993 Advices

Posted by on 15 May 2011 - 02:09 AM

and I am not sure if it's worth all learning it even if I am really passionate about creating 3d engine because at 32 am affraid it could take too long... even if I have all day to do it all years long etc when I study the source of Quake 3 I am discouraged by the complexity and size of it, I ask myself question like will I ever be able to code like that/close to that i mean like working on a project that size etc

currently I am studying my MCITP certifications from Microsoft (IT Pro stuff, Active Directory, Dns, Dhcp, Virtualisation, Windows Server 2008 etc) and I am doing really fine, but 3d graphics seem to be my passion am just affraid a bit.... I live 4hr's of car from montreal and ubisoft recruit big like all the big studio so I was wondering, if I push it hard 10hr's a day for the next 3 years for example etc but at 1 point you have to decide what you want to do and stop learning 2-3 different things/fields

Sounds like you're undecided on what you want to do for a career. Maybe you should do some thinking and ask yourself what's the worst thing that can happen if you don't pursue your passion? On the other hand, what's the worst thing that can happen if you do? It's entirely possible that working 10 hours a day for 3 years will result in nothing significant. Of course it's also possible that working just 1-2 hours a day for 2 years may be more than enough.

Personally, I feel that you don't really get to choose your passion--I think it more or less chooses you. What I mean is that people that have a passion for something are so obsessed that they cannot see themselves living their life any other way. This is why there is a notion of the "starving artist." A person will endure failure, false starts, rejection, unemployment, hunger, hardship, etc... all because they are so stubborn that they cannot see themselves working the typical 8-5 job. Most people are not that serious about becoming musicians, athletes, artists, actors, writers, game developers, etc... which is why very few are successful. Incidentally, this reminds me of an anecdote about Socrates and a man who wanted to become as enlightened as Socrates:

One day a dispassionate young man approached the Greek philosopher and casually said, 'O great Socrates, I come to you for knowledge.'

The philosopher took the young man down to the sea, waded in with him, and then dunked him under the water for thirty seconds. When he let the young man up for air, Socrates asked him to repeat what he wanted. 'Knowledge, O great one,' he sputtered.

Socrates put him under the water again, only this time a little longer.

After repeated dunkings and responses, the philosopher asked, 'What do you want?' The young man finally gasped, 'Air. I want air!' 'Good,' answered Socrates. 'Now, when you want knowledge as much as you wanted air, you shall have it.

It's easy for us to believe that given enough hours of practice, we could also produce the equivalent of a Quake 3. Perhaps, but I would suggest reading the book Masters of Doom and you will see that the genius behind Quake 3, John Carmack, had the kind of desire that Socrates was talking about.

#4804465 Math for 3d programming

Posted by on 29 April 2011 - 09:42 AM

Most of what I see in the book I can work out but the proof for ||aP|| = |a| ||P|| is completely beyond me. Maybe its just the normalized notation thats throwing me off but why the root sum of a^2 P^2 is |a| ||P|| confuses me.

Let P be a vector and a a scalar. There are scalars x_1, x_2, x_3 such that P = (x_1, x_2, x_3). aP = (ax_1, ax_2, ax_3) is always a vector by the vector space axioms. So just take the norm of aP:.

||aP|| = sqrt( (ax_1)^2 + (ax_2)^2 + (ax_3)^2) = sqrt(a^2(x_1^2 + x_2^2 + x_3^2)) = sqrt(a^2) * sqrt (x_1^2 + x_2^2 + x_3^2) = |a| ||P||. I don't know of any books for bridging the gap. This stuff comes from vector calculus but you also see it in linear algebra.

#4802181 Is an MS in Mathematics enough to break into graphics?

Posted by on 24 April 2011 - 12:02 AM


I am currently studying for an MS in mathematics and was wondering if anyone out there has a degree in math and is doing graphics programming. If not, does anyone know how realistic it would be for someone in math to go into graphics? (I just recently got hit hard with the graphics bug. )It could be games or visualization/scientific applications; I don't care. If I need to, I could easily stay in school and get a master's in CS, but I'd rather get a programming job (non-graphics at first) to get real world experience while learning graphics on my own. I learned Java and some C/C++ on my own and it's actually enough to get a job where I work at.

Right now, I have a student RA where I mostly translate mathematical algorithms from research papers into actual code. Most of the math is difficult for the CS guys since it is an area that comes from order theory and lattice theory. Most of the code is basically doing set theory and FCA/order/lattice theory on the computer. I've noticed there are some math people doing graphics like David Eberly and Samuel Buss but they seem to be rare and exceptional, and they have PhDs.

My interest is mainly in 3d stuff. I've been playing around with OpenGL and worked through some NeHe lessons only to find out that most of those are old and uses the fixed pipeline which is deprecated. So now I've been looking into GLSL and Cg; needless to say, I was blown away when I saw what can be done when you start using shaders. This only motivated me to want to learn more so I spent some weeks reading most of the 7th edition Red book (deprecated!), the Superbible 5th Edition, and started reading Real Time Rendering and Edward Angel's Interactive Computer Graphics. I didn't realize I could understand most of those books quite easily after spending years doing abstract algebra and analysis. It was quite an amazing discovery when I found out that I could make some pretty pictures using basic Linear Algebra, Trig, and Vector Analysis. I always wanted to be an artist, but I gave up at a young age. For me, it seems like graphics programming re-opens the door to that kind of creativity that I once aspired to as a child. I feel like graphics programming is a way to use math to do art without being having to be an artist. :P If any graphics programmers are here, I'd like to know how they relate their work to art/math and what they find satisfying about the work.

So how does one break into the field? Should I learn OpenGL/Direct3d and make a bunch of demos or an engine? Or just stay in school for another 2-3 years and get the master's in CS? I've taken enough CS to know basic data structures like stacks, linked lists, queues, and trees and I even took a course on OOP, but I've never made a project that is longer than say, 1000-1500 lines of Java/C. Any advice or comments is appreciated. Thanks.