AaronMK

Members
  • Content count

    5
  • Joined

  • Last visited

Community Reputation

114 Neutral

About AaronMK

  • Rank
    Newbie
  1. I think I found the issue.  My compilation settings for Enhanced Instruction Set was "AVX".  I changed this and I don't get any illegal instructions on the desktop anymore.  I suspect my laptop supports it, while my desktop does not.
  2. Hello PixelArtist,   For each machine, I am compiling in VS2012 with the same properties files, except for paths to supporting libraries.  I am  also compiling on the machine that is running the program.  Difference would be that my laptop has a Geforce 700 level card. My desktop has a 400 level card hooked up to the monitors, and a 200 level card so games can offload Physx, Cuda, etc.  Both sould support OpenGL 4.2, which my program targets.  I can do a simple program that just sets the clear color and clears the screen each frame with the same API calls that crash my bigger program with the same supporting boilerplate libraries without it complaining.   What kind of configuration would be the most likely candidate?   Thanks for any continued assistance.
  3. I am getting an Illegal Instruction exception for OpenGL, and I'm wondering what are common causes of this are and how I should go about tracking them down.   It only happens on my desktop, but code works fine when I develop on my laptop.  Games and other graphics accelerated applications work fine on the box. I am 99.9% sure a context is current.  I use GLEW in multi-threaded mode, and the context wrapper class sets a thread local GLEWContext to NULL when not current, so OpenGL API functions would not de-reference otherwise. This happens on a call to glClearColor().  This is the first API call I make, but if I put it after my glEnable()/glDisable() initialization, it still fails on glClearColor() I am using a version 4.2 context in compatibility mode.   Thank you for any assistance.
  4. I have seen that many rendering packages expose shading graphs to artist. I hope I am using the term right, but I am referring to the graphs that typically have a shader as a node, with inputs and outputs of the shader that can be chained to create a final effect. How are these integrated into a game engine in practice? How do they map to implement ion of the actual shaders compiled and run? It seems like these could get complex very quickly, with either the number of shaders being compiled to support all of the permutations artists might create going through the roof, or a lot of CPU/GPU ping-pong'ing and synching waiting for the output of one stage of the chain being ready for the next stage. Thanks for any insight.
  5. very beginer

    After a google search, the information in this thread seems to be what I am looking for, but I have some questions: Terminology - So "row-major" and "colunm-major" refer to how a 4x4 (in this case) matrix is laid out in memory, and - "row-vector" and "column-vector" refer to whether <x,y,z,w> is a 1x4 or 4x1 matrix, respectively? - Pre-multiply is v' = v*M (implying "row-vector"), and post-multiply v' = M*v (implying "column-vector") The thing that confuses me is that it does not seem that being row or column major should change the actual "pencil/paper" math. Let's say that [i]A[/i] and [i]B[/i] are 4x4 matrices. Regardless on whether they are arranged in memory in row or column major order, [i]A [/i]* [i]B = C[/i] should always result in the same [i]C.[/i] However, many posts seem to associate an order of transformations with a "row-major" or "column-major" layout. For transformation multiplication order, I'd think that whether you are pre or post multiplying would be the determining factor. If I am just trying to create a single transformation matrix, it will be a different matrix depending on whether I am pre or post multiplying, one will be the transpose of the other, correct? Now, how does this all translate to pre OpenGL 3.2 transform stacks? Take the following pseudo code for example. loadIdentity() pushMatrix( lookAt(eye, center, up) ); pushMatrix( translate(x, y, z) ); pushMatrix( rotate(axis, theta) ); Thank you for any assistance.