   bmp change to 3D
  I have a cloud bmp(it's r=g=b) graph, I read the data by pixels, the altitude and the alpha is added like this:alpha=r*a-b; //a and b are all parameters in the programaltitude=r*c; //c is a parameter in the programthen I got a 3D nephogram, but when I do a rotation by axis-x, it seems the image quality when clockwise rotate is better than the quality of anticlockwise rotate. when clockwise rotate the picture, the cloud looked a little smooth, when anticlockwise rotate the picture, there are some vertical strips on the cloud(like a mountain)side, and the flaw on the topleft is more than on the bottom-right corner of the window.I doubt the reason is the original cloud bmp , that is to say, when camera the cloud, the camera is not up on the cloud, it is up and a little slant to the -Z side.I don't know if it is right of what i had analised, if it is right ,how to correct this windage?   
  It's hard to discern what it is you're doing and what exactly the problem is from your post.  You may want to post some of your code, and word it a bit clearer.The first thing that comes off of the top of my head that could be your problem is that you're rendering some geometry that are residing on the same plane, which I've had create the effect you describe with the textures showing through.  Solutions could be to disable depth testing or render them with slightly different z values, maybe someone has another idea.Another problem may be that you're rendering your textures very squished or far away.  This can cause problems with texel accuracy and create undesirable effects.  Look into mip-mapping?   ;  my code:private void SetAlpha() {    int i = 0, j = 0;    int tempValAlpha = 0;    for (i = 0; i < Width1; i++)    {   for (j = 0; j < Height1; j++)   {  tempValAlpha = (int)(m_symbol * <span class="cpp-literal"><span class="cpp-number">0</span>.30f</span> + m_symbol * <span class="cpp-literal"><span class="cpp-number">0</span>.59f</span> + m_symbol * <span class="cpp-literal"><span class="cpp-number">0</span>.11f</span>);<br>  <span class="cpp-keyword">if</span> (tempValAlpha * BianJie - TranspVal &gt; <span class="cpp-literal"><span class="cpp-number">255</span></span>)<br> m_symbol = <span class="cpp-literal"><span class="cpp-number">255</span></span>;<br>  <span class="cpp-keyword">else</span> <span class="cpp-keyword">if</span> (tempValAlpha * BianJie - TranspVal &lt; <span class="cpp-literal"><span class="cpp-number">0</span></span>)<br> m_symbol = <span class="cpp-literal"><span class="cpp-number">0</span></span>;<br>  <span class="cpp-keyword">else</span><br> m_symbol = (<span class="cpp-keyword">byte</span>)(tempValAlpha * BianJie - TranspVal);<br>   }<br>    }<br>}<br><br><span class="cpp-keyword">private</span> <span class="cpp-keyword">void</span> CalHeight()<br>{<br>    <span class="cpp-keyword">int</span> vertex = <span class="cpp-literal"><span class="cpp-number">0</span></span>;<br>    <span class="cpp-keyword">int</span> dim = <span class="cpp-literal"><span class="cpp-number">0</span></span>;<br>    <span class="cpp-keyword">byte</span> r = <span class="cpp-literal"><span class="cpp-number">0</span></span>, g = <span class="cpp-literal"><span class="cpp-number">0</span></span>, b = <span class="cpp-literal"><span class="cpp-number">0</span></span>;<br>    <span class="cpp-keyword">for</span> (<span class="cpp-keyword">int</span> i = <span class="cpp-literal"><span class="cpp-number">0</span></span>; i &lt; Width<span class="cpp-literal"><span class="cpp-number">1</span></span>; i++)<br>    {<br>   <span class="cpp-keyword">for</span> (<span class="cpp-keyword">int</span> j = <span class="cpp-literal"><span class="cpp-number">0</span></span>; j &lt; Height<span class="cpp-literal"><span class="cpp-number">1</span></span>; j++)<br>   {<br>  vertex = i * Height<span class="cpp-literal"><span class="cpp-number">1</span></span> + j;<br>  dim = j * Width<span class="cpp-literal"><span class="cpp-number">1</span></span> * <span class="cpp-literal"><span class="cpp-number">3</span></span> + i * <span class="cpp-literal"><span class="cpp-number">3</span></span>;<br>  r = bmpData[dim];<br>  g = bmpData[dim + <span class="cpp-literal"><span class="cpp-number">1</span></span>];<br>  b = bmpData[dim + <span class="cpp-literal"><span class="cpp-number">2</span></span>];<br>  m_textHeight[vertex] = ((<span class="cpp-keyword">float</span>)r * <span class="cpp-literal"><span class="cpp-number">0</span>.3f</span> + (<span class="cpp-keyword">float</span>)g * <span class="cpp-literal"><span class="cpp-number">0</span>.59f</span> + (<span class="cpp-keyword">float</span>)b * <span class="cpp-literal"><span class="cpp-number">0</span>.11f</span>) / <span class="cpp-literal"><span class="cpp-number">1000</span>.0f</span>;<br>   }<br>    }<br>}<br><br></pre></div><!–ENDSCRIPT–><br><br><img src="http://tu.6.cn/pic/show-new/id/8137082/" alt="the cloud &#111;n the top left corner of the window have white vertical strips, see image in the A,B,C,D circles,but clouds &#111;n the bottom right corner of the window looked smoothly have not white strips" /> <br><img src="http://tu.6.cn/pic/show-new/id/8137332/" alt="move the the image to the bottom left corner of the window, the same cloud in the A,B,C,D circles seemed smoothly and no white strips" /> <br>the above two picture are all the result of glRotatef(40.0f, 1.0f, 0.0f, 0.0f);<br>if glRotatef(140.0f, 1.0f, 0.0f, 0.0f); all the cloud seemed smoothly.