• Content count

  • Joined

  • Last visited

Community Reputation

158 Neutral

About jesse007

  • Rank
  1. What a good college must have?

    [quote name='Fernando Vieira Leite' timestamp='1330377175' post='4917157'] [quote name='Telastyn' timestamp='1330371837' post='4917115'] [quote name='Jesse7' timestamp='1330370277' post='4917102'] What you learn in college is largely up to you. [/quote] 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. [/quote] yeaah thats what I think too. [/quote] 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. [img][/img] 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.
  2. [quote name='luckyyyyyy' timestamp='1330359301' post='4917029'] I don't have any issue to read *stl or write *stl ... I can even render the 3D stl model. [...] How can i extract face information from stl ? [/quote] So you can read, write, and render an stl model, but can't extract the faces. That makes no sense. I don't know exactly what you want, but MeshlLab seems to do .stl conversions: [url=""][/url] and Wikipedia describes .stl: [url=""]http://en.wikipedia....8file_format%29[/url]
  3. What a good college must have?

    [quote name='Fernando Vieira Leite' timestamp='1330360322' post='4917040'] Oh, I see.. but do you think any degree in Computer Science would be good? Because I'm going to usa with a company, and they're choosing the college for me, but I'm afraid that they choose a bad college, so I was thinking in sending them a list of some courses that the college should have. So far I got this: Programming Assembly level programming Computer Architecture Software Engineering Computer Graphics Data Structure Algorithms Communication Networks Al and Expert Systems Human Factors Mathematics Physics Web development Software development I don't know if they're all really required.. But what do you think about this list? [/quote] Why are you so concerned what people think of your college? The things that you are able to do are far more important than the classes you're going to take. You may take far more courses than someone else but that means little if you didn't learn to program or if you can't write or if you can't read technical documents. So what that you didn't take an AI or a graphics course? Maybe the college doesn't have these. You may still end up better than someone else who did take those courses. Someone passionate about AI or graphics isn't going to wait around until they take a class in it or until they find a better school. What you learn in college is largely up to you. Want to learn math? Algorithms? AI? Graphics? Pick-up a book and start reading. Yeah, it's very nice to have someone else explain everything to you, but in a fast paced industry like software/games those who can't learn on their own are not going to make it.
  4. OpenGL OpenGL 3.2+ and GLSL texturing

    [quote name='NimrodPSI' timestamp='1329949496' post='4915691'] 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. [/quote] Yeah, if you use deprecated code with a core profile you sometimes get weird stuff like black textures [img][/img]. I don't much about that GLSL command, but another way of generating mipmaps is by calling glGenerateMipmap () right after you load the texture: [code] // use trilinear filtering glBindTexture(GL_TEXTURE_2D, textureId); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexParameteri( GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER, GL_LINEAR ); glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA, w, h, 0, GL_RGBA,GL_UNSIGNED_BYTE,pixels); // generate mipmaps glGenerateMipmap(GL_TEXTURE_2D); [/code]
  5. OpenGL OpenGL 3.2+ and GLSL texturing

    [quote name='NimrodPSI' timestamp='1329868338' post='4915325'] What is the purpose of the .st at the end of a vec2 varialbe? Anyways I hate the RAW format so I guess it's time to write my own Targa loader. [/quote] I guess .st is redundant since we have a vec2. For loading Targas and a slew of other formats, you could use FreeImage or DevIL. SOIL is another one but it doesn't seem to work with a core profile.
  6. OpenGL OpenGL 3.2+ and GLSL texturing

    If you read Swiftless, he says: [quote]In GLSL 1.50, we no longer have gl_ModelViewMatrix, gl_ProjectionMatrix, gl_Vertex, etc, etc[/quote] 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: [code] #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); } [/code] [code] #version 150 core in vec2 out_TexCoord; uniform sampler2D texture_color; out vec4 FragColor; void main(void){ FragColor = texture2D(texture_color,; }[/code] If that doesn't work, check the stuff that Karwosts mentioned above.
  7. [quote name='themean' timestamp='1329141640' post='4912596'] [size=3][font=arial, sans-serif][color=#333333]Can anyone give me example how to draw simple triangle on linux (with all window and context creation)[/color][/font][/size] [size=3][font=arial, sans-serif][color=#333333]I can do this on windows , but want to [/color][/font][/size]achieve this on linux with x11 and glx [/quote] Is there a reason why you need to use GLX? If you don't already know OpenGL, forcing yourself to learn both GLX and OpenGL at the same time will be confusing not to mention that few people will be able to help since its OS specific. I suggest you drop GLX and get it working with Freeglut or some other toolkit that will abstract away the boiler plate code. Once you're comfortable with OpenGL it will be much easier to write native code.
  8. [quote name='musasabi' timestamp='1328216751' post='4908842'] However, there is a reason I was looking to find tutorials for the shaders. The focal point of this independent study is supposed to be cross-platform challenges. That said, I was looking to take some "standard" effects, and struggle with making them identical between different drivers and OS's rather than struggle with the math of the simulation itself. =) Does that bit change how you'd reply, or are you still of the same opinion? ;) [/quote] I can only answer for how I'd approach it. Personally, I think porting software doesn't do much if the goal is to learn graphics or if you'd like to learn how to create your own techniques. Of course, if the goal is just to learn a new platform then porting is a great way to get some practice. I've done some porting of Cg /HLSL shaders to GLSL (especially with the Cg tutorial) but it's not particularly difficult even when your focus is on OpenGL/GLSL and not Direct X or Cg. Porting programs I find to be much easier than trying to implement the stuff you read in research articles. Still, I'm not sure what the demand is for someone who can implement the theory because a lot of PC games these days are just console ports. [img][/img] It's been said many times that if you can pick up one language or API, it's not that much harder or different to pick up another one. If all you want are some standard shader techniques, then you could read the Cg tutorial and the Orange book. The Microsoft Direct X SDK documentation also has a lot articles for HLSL. I'm sure that water shaders are considered fairly advanced so you won't see that in those books. The more advanced techniques like water simulation are to be found in the Shader X series and the GPU gems.
  9. [quote name='musasabi' timestamp='1328167872' post='4908648'] I know that I don't know exactly what I'm looking for, but why can't I find a straight up OpenGL tutorial for, say, procedural water [/quote] I don't think this matters too much because you're wanting to earn credit for your work, so I don't see how having an OpenGL tutorial for a water shader as teaching you much because someone else already did the hard work. A better project would be to take an algorithm and write the code yourself. There is a chapter in the GPU Gems on water: Perhaps a good project would be to study that chapter and create your own OpenGL water simulation. That certainly wouldn't be a trivial project.
  10. Need help with bump-mapping

    [quote name='Kaptein' timestamp='1322875324' post='4889987'] Hey there, I usually try to help people out but this time I just cant figure out what Im doing wrong Im not terribly good at matrixes and coordinate-systems, but I have read all the tutorials I could find, all the problem thread... everything Ive tried for a week now to get my shaders to display bump mapping in the correct place To make sure the light position wasnt the problem i also now draw a cube where the light position is presently set My world is being constructed using translate and rotate only: rotate x rotate y translate -camerax, -cameray, -cameraz I did this only because i couldnt get a directional light to work, but it doesnt really matter which is used I guess for simplicity ive even abandoned the light and im setting a hardcoded position for light here is the shader code: [code] vec4 position = vec4(, 1.0); position = gl_ModelViewMatrix * position; vec3 tangent, binormal; if (in_normal.x > 0.5) { tangent = vec3( 0.0, 0.0, -1.0); binormal = vec3( 0.0, -1.0, 0.0); } else if (in_normal.x < -0.5) { tangent = vec3( 0.0, 0.0, 1.0); binormal = vec3( 0.0, -1.0, 0.0); } else if (in_normal.y > 0.5) { tangent = vec3( 1.0, 0.0, 0.0); binormal = vec3( 0.0, 0.0, 1.0); } else if (in_normal.y < -0.5) { tangent = vec3( -1.0, 0.0, 0.0); binormal = vec3( 0.0, 0.0, 1.0); } else if (in_normal.z > 0.5) { tangent = vec3( 1.0, 0.0, 0.0); binormal = vec3( 0.0, -1.0, 0.0); } else if (in_normal.z < -0.5) { tangent = vec3(-1.0, 0.0, 0.0); binormal = vec3( 0.0, -1.0, 0.0); } tbn = gl_NormalMatrix * mat3(tangent, binormal, in_normal); v_ldir = normalize(gl_LightSource[0].position - * tbn; v_eye = normalize( * tbn; v_half = normalize( + * tbn; [/code] im using cubes btw. lots of them, so the normals are all completely directional =) the fragment shader is pretty standard, exactly what you'd expect just to be on the same page: bump is sampler2D() * 2.0 - vec3(1.0); and the lamberfactor: [font="Consolas,"]max(dot(bump, normalize(v_ldir)), 0.0);[/font] ive written these things so many times in so many ways i remember it by heart now =) i also tried changing it over: converting the bump normal to tangent space, instead of light vector oh, before i forget, the vectors (vec3) used in the fragment shader (v_ldir and v_eye) are being normalized() one extra time on the fragment side just in case! last but not least i dont actually use v_eye and v_half yet, since i cant even get normal bumpmapping to work =) if it somehow comes across as if i know what im doing here: i dont this is why i need help =) ANY help is appreciated! [/quote] I'd suggest you first try to get bump mapping working on a quad and don't use transformations yet. Once you can do that, then try doing the cube and adding transformations. I think it may be a better idea to pre-compute your normals and tangents and send them as attributes instead of trying to use if statements in the vertex shader. Here is a vertex shader that I use that works for me (for a quad): [code]#version 410 uniform mat4 mvMatrix; uniform mat4 mvpMatrix; uniform vec3 LightPosition; uniform mat3 normalMatrix; in vec4 vVertex; in vec3 normal; in vec3 tangent; out vec3 LightDir; out vec3 EyeDir; out vec2 TexCoord; void main(void) { // convert normal and tangent (from main program) into eye space vec3 u = vec3(mvMatrix * vVertex); vec3 n = normalize(normalMatrix * normal); vec3 t = normalize(normalMatrix * tangent); // compute b in eye space vec3 b = cross(n, t); // convert light direction from eye space to tangent space vec3 v; v.x = dot(LightPosition, t); v.y = dot(LightPosition, b); v.z = dot(LightPosition, n); LightDir = normalize(v); // convert eye direction from eye space to tangent space v.x = dot(u, t); v.y = dot(u, b); v.z = dot(u, n); EyeDir = normalize(v); // compute tex coordinates TexCoord = vVertex.xy * vec2(0.5) + vec2(0.5); // transform geometry gl_Position = mvpMatrix * vVertex; }[/code]
  11. [quote name='way2lazy2care' timestamp='1322766526' post='4889528'] I would probably imagine that the % of people that go to stanford and succeed is also related to stanford being able to only accept students they think will succeed and still have enough students. For many state schools that just is not an option if they want to accept more than 20 students. You could probably reasonably guess that 95% of the students that end up going to stanford would be successful while they were freshmen in highschool, and they probably would end up successful if they went to any university. [/quote] Nicely put, but don't stop there.... and if they didn't go to [i]any[/i] university, it is quite likely that they'd still be successful even without a degree.
  12. [quote name='mdwh' timestamp='1322663116' post='4889067'] I mean general in the sense of statistics on what happens to most people. The success (or not) of Universities/graduation should be measured by evidence, not a few hand picked anecdotes. This is what I mean. Yes, if we want to get down to the philosophy of science, you can't prove something with 100% certainty. But we can and do make judgements based on probability, supported by evidence. If something was true for 99% of people in a set, that's quite a strong generalisation, whilst still allowing for large numbers of exceptions. If you wanted to prove to me that University isn't so good, you'd need to show me evidence, not the anecdotal exceptions. [/quote] I don't think anyone is saying that the university isn't good. But I do think it is a mistake to believe just because 95%, or however many, that go to Stanford succeed means that if I go to Stanford then I'll succeed as well. Whether someone succeeds or not depends entirely on the person and not their alma mater; though having those extra letters next to your name never hurts.
  13. [quote name='mdwh' timestamp='1322575669' post='4888776'] [quote name='Matias Goldberg' timestamp='1322530684' post='4888648'] 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. [/quote]John Carmack yes - but remember, rare isolated examples tell us little about general rules. [/quote] Rare isolated examples [i]do[/i] 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 [url=""]Weierstrass function[/url] 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: [i]All continuous functions are differentiable. [/i]Counterexamples are important because you cannot usually verify a general rule, but you can certainly falsify it, cf. Karl Popper's [url=""]philosophy of science[/url]. 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: [url=""][/url] I highly doubt that this situation was brought about involuntarily, but that's why I agree that [quote name='Matias Goldberg' timestamp='1322530684' post='4888648'] It's the person, not the school what makes the difference. [/quote]
  14. [quote name='plusnoir' timestamp='1322475219' post='4888376'] [quote name='__sprite' timestamp='1322473324' post='4888371'] This page has instructions on how to use SOIL: [url=""][/url] [/quote] I know that site. Thats where I got SOIL from. But it still doesn't give me any clue on how to link SOIL with Code::Blocks. [/quote] You link just like when you link to any other library. Just change the name appropriately. Say I have the module [i]mycode.o[/i] and I want to link against Freeglut, Glew, and SOIL. [i]Code::Blocks[/i] is a big fancy front end for doing this: [code]g++ -o mycode.exe -lglew32 -lmycode.o -lfreeglut32 -lSOIL -lopengl32[/code]
  15. Im new to this programming world, help please.

    [quote name='xerox230' timestamp='1322144573' post='4887257'] so lets say i have been watching tutorials and practised for 2 years , would i be able to make a game of my own then? if not, how many years more would i need to practise? I know this is from person to person but just for example? (doesnt matter if its good or not, as long as it is a complete game) [/quote] You are too concerned with the end result instead of the process. Yes, you eventually need to have a finished product to make money but if you don't enjoy the process you will never get there. Games are just a kind of software and the people who make them enjoy making software--they just happen to get paid for it. As much as I like games, I like programming far more than playing games. The fact that I enjoy both programming and playing games means I enjoy learning about programming games even more. When you truly enjoy something, you will want to keep doing it for the rest of your life so time won't be an issue.