<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413222&amp;view=findpost&amp;p=3774369</guid>
        <pubDate>Thu, 19 Jul 2018 06:31:11 +0000</pubDate>
        <title>Вопрос о построении графиков</title>
        <link>https://forum.sources.ru/index.php?showtopic=413222&amp;view=findpost&amp;p=3774369</link>
        <description><![CDATA[agapa: Доброе время суток<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413222&view=findpost&p=3774276'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Славян &#064; <time class="tag-quote__quoted-time" datetime="2018-07-17T17:52:23+00:00">17.07.18, 17:52</time></span><div class='quote '>Так что можете убрать и посмотреть, что выйдет</div></div><br>
Да, действительно вы правы. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-07-19T09:44:06+03:00">19.07.18, 06:44</time></span></span><br>
Вот, только я не понимаю, откуда берется та прямая :unsure:  <br>
Может потому, что я добавил задержку  <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">void drawScena()</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::queue&#60;DataForExchange&#62; items;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;DataForExchange tmp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::unique_lock&#60;std::mutex&#62; lg(mut);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;while (true)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{ &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;data_cond.wait(lg,[]{return !glDataExch.empty() || endWork;});</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;items = std::move(glDataExch);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (unsigned int i = 0; i &#60; items.size(); ++i)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp = items.front();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glColor3f(1.0,1.0,1.0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glBegin(GL_LINES);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glVertex2d(offsetTX,offsetMX); &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glVertex2d(tmp.t/1000.0,tmp.mS/1000.0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glEnd();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;offsetTX = tmp.t/1000.0,offsetMX = tmp.mS/1000.0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//Вариант 2</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;std::this_thread::sleep_for(200); &nbsp; </div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glFlush();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;items.pop();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//Вариант 1</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;std::this_thread::sleep_for(200); &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (endWork)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Причем, когда применяю &quot;Вариант 1&quot; линия рисуется одним цветом, а при &quot;Вариант 2&quot; - другим :unsure:]]></description>
        <author>agapa</author>
        <category>Программирование графики</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413222&amp;view=findpost&amp;p=3774276</guid>
        <pubDate>Tue, 17 Jul 2018 17:52:23 +0000</pubDate>
        <title>Вопрос о построении графиков</title>
        <link>https://forum.sources.ru/index.php?showtopic=413222&amp;view=findpost&amp;p=3774276</link>
        <description><![CDATA[Славян: В вашем конкретно этом случае условие <em class='tag-i'>if/else</em> вообще не нужно, ибо случай <em class='tag-i'>else</em> полностью обрабатывает вариант <em class='tag-i'>if</em>&#39;а при <strong class='tag-b'>tmp.t</strong> равном нулю.<br>
Так что можете убрать и посмотреть, что выйдет. ;)]]></description>
        <author>Славян</author>
        <category>Программирование графики</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413222&amp;view=findpost&amp;p=3774260</guid>
        <pubDate>Tue, 17 Jul 2018 13:22:53 +0000</pubDate>
        <title>Вопрос о построении графиков</title>
        <link>https://forum.sources.ru/index.php?showtopic=413222&amp;view=findpost&amp;p=3774260</link>
        <description><![CDATA[agapa: Доброе время суток.<br>
<br>
Да, именно это было и причиной :blush: Спасибо. Я уже хотел  :wall: <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-07-17T13:42:08+00:00">17.07.18, 13:42</time></span></span><br>
Вот только я заметил непонятное для меня.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">void _DisplayFnc()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;glClear(GL_COLOR_BUFFER_BIT);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;drawScena();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;//glFlush();</div><div class="code_line">&nbsp;</div><div class="code_line">}</div></ol></div></div></div></div><br>
Я убрал glFlush() из _DisplayFnc() для того, чтобы видеть процесс. И включил его в drawScena()   <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;void drawScena()</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::queue&#60;DataForExchange&#62; items;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;DataForExchange tmp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::unique_lock&#60;std::mutex&#62; lg(mut);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;while (true)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{ &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;data_cond.wait(lg,[]{return !glDataExch.empty() || endWork;});</div><div class="code_line">&nbsp;&nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;items = std::move(glDataExch);</div><div class="code_line">&nbsp;&nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (unsigned int i = 0; i &#60; items.size(); ++i)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp = items.front();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glColor3f(1.0,1.0,1.0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glBegin(GL_LINES);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glVertex2d(offsetTX,offsetMX); &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (tmp.t == 0.0)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glVertex2d(tmp.t,tmp.mS/1000.0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glVertex2d(tmp.t/1000.0,tmp.mS/1000.0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glEnd();</div><div class="code_line">&nbsp;&nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;offsetTX = tmp.t/1000.0,offsetMX = tmp.mS/1000.0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glFlush();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;items.pop();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (endWork)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div><br>
Вроде прога работает, только через какое-то время график сдвинулся влево, а когда данные кончились вернулся назад. Я увеличил размеры окна проги (winWidth,winheight) и увидел, что этот сдвиг вызывает вертикальная прямая, которая каким-то ... и, не понятно с какого перепугу, рисуется параллельно правому борту окна. :unsure: Подскажите, пожалуйста, что это за напасть?<br>
Может по этому и glutReshapeFunc(_ReshapeFnc) как-то не так работает?]]></description>
        <author>agapa</author>
        <category>Программирование графики</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413222&amp;view=findpost&amp;p=3774205</guid>
        <pubDate>Mon, 16 Jul 2018 13:43:14 +0000</pubDate>
        <title>Вопрос о построении графиков</title>
        <link>https://forum.sources.ru/index.php?showtopic=413222&amp;view=findpost&amp;p=3774205</link>
        <description><![CDATA[Славян: Проблема, быть может, не в этом, но ниже наверняка один знак равенства пропущен:<br>&quot;if (tmp.t == 0.0)&quot; надо?&#33;]]></description>
        <author>Славян</author>
        <category>Программирование графики</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413222&amp;view=findpost&amp;p=3774199</guid>
        <pubDate>Mon, 16 Jul 2018 13:19:46 +0000</pubDate>
        <title>Вопрос о построении графиков</title>
        <link>https://forum.sources.ru/index.php?showtopic=413222&amp;view=findpost&amp;p=3774199</link>
        <description><![CDATA[agapa: Доброе время суток.<br>
пытаюсь сотворить подобие тренда:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">std::queue&#60;DataForExchange&#62; glDataExch;</div><div class="code_line">&nbsp;</div><div class="code_line">std::mutex mut;</div><div class="code_line">std::condition_variable data_cond;</div><div class="code_line">&nbsp;</div><div class="code_line">bool endWork = false;</div><div class="code_line">&nbsp;</div><div class="code_line">double offsetTX = 0.0, offsetMX = 0.0;</div><div class="code_line">&nbsp;</div><div class="code_line">...</div><div class="code_line">&nbsp;</div><div class="code_line">void CIPO1::_getData()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;FILE* fp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;fopen_s(&amp;fp,&quot;D:/Programs/C++/ProjectGraph/bin/Data/IMET_L1.var01&quot;,&quot;r&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (fp == NULL)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ErrMsg(&quot;Error&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TCHAR* tcTok = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TCHAR del[] = &quot; \t\r\n&quot;;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TCHAR buff[1024] = &quot;&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;DataForExchange tmp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;short c = 0;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;while (_fgetts(buff,1024,fp) != NULL)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;tmp.t = _ttof(_tcstok(buff,del));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;while (tcTok = _tcstok(0,del))</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (c == 0) </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp.x = _ttof(tcTok);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (c == 1)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp.y = _ttof(tcTok);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (c == 2)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp.z = _ttof(tcTok);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (c == 3)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp.xv = _ttof(tcTok);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (c == 4)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp.yv = _ttof(tcTok);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (c == 5)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp.zv = _ttof(tcTok);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;++c;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;double skv = tmp.x*tmp.x + tmp.y*tmp.y + tmp.z*tmp.z;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;tmp.mS = sqrt(skv);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;double vkv = tmp.xv*tmp.xv + tmp.yv*tmp.yv + tmp.zv*tmp.zv;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;tmp.mV = sqrt(vkv);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::lock_guard&#60;std::mutex&#62; lg(mut);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;glDataExch.push(tmp);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;data_cond.notify_one();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::lock_guard&#60;std::mutex&#62; lg(mut);</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;endWork = true;</div><div class="code_line">&nbsp;&nbsp; &nbsp;data_cond.notify_one();</div><div class="code_line">&nbsp;</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Отрисовка:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">void drawScena()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::queue&#60;DataForExchange&#62; items;</div><div class="code_line">&nbsp;&nbsp; &nbsp;DataForExchange tmp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::unique_lock&#60;std::mutex&#62; lg(mut);</div><div class="code_line">&nbsp;&nbsp; &nbsp;while (true)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;data_cond.wait(lg,[]{return !glDataExch.empty() || endWork;});</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;items = std::move(glDataExch);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for (unsigned int i = 0; i &#60; items.size(); ++i)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp = items.front();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glColor3f(1.0,1.0,1.0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glBegin(GL_LINES);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glVertex2d(offsetTX,offsetMX); &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (tmp.t = 0.0)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glVertex2d(tmp.t,tmp.mS/1000.0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glVertex2d(tmp.t/1000.0,tmp.mS/1000.0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;glEnd();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;offsetTX = tmp.t/1000.0,offsetMX = tmp.mS/1000.0;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;items.pop();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (endWork)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">}</div></ol></div></div></div></div><br>
Ну, и сама функция отрисовка сцены:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">int _tmain(int argc, _TCHAR* argv[])</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;ShowWindow(GetConsoleWindow(),SW_HIDE);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;CIPO1 exmpl;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::thread t1(&amp;CIPO1::_getData,&amp;exmpl);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;glutInit(&amp;argc,argv);</div><div class="code_line">&nbsp;&nbsp; &nbsp;glutInitWindowPosition(20,20);</div><div class="code_line">&nbsp;&nbsp; &nbsp;glutInitWindowSize(winWidth,winheight);</div><div class="code_line">&nbsp;&nbsp; &nbsp;glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);</div><div class="code_line">&nbsp;&nbsp; &nbsp;void _init();</div><div class="code_line">&nbsp;&nbsp; &nbsp;_init();</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;glutCreateWindow(&quot;ipo1_Graph&quot;);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void _DisplayFnc();</div><div class="code_line">&nbsp;&nbsp; &nbsp;glutDisplayFunc(_DisplayFnc);</div><div class="code_line">&nbsp;&nbsp; &nbsp;void _ReshapeFnc(int,int);</div><div class="code_line">&nbsp;&nbsp; &nbsp;glutReshapeFunc(_ReshapeFnc);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;glutMainLoop();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;t1.join();</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">void _init()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;glClearColor(0.0,0.0,0.0,0.0);</div><div class="code_line">&nbsp;&nbsp; &nbsp;glMatrixMode(GL_PROJECTION);</div><div class="code_line">&nbsp;&nbsp; &nbsp;gluOrtho2D(0.0,(GLdouble)winWidth,-(GLdouble)(winheight/2),(GLdouble)(winheight/2));</div><div class="code_line">}</div><div class="code_line">void _ReshapeFnc(int width,int height)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;glClearColor(0.0,0.0,0.0,0.0);</div><div class="code_line">&nbsp;&nbsp; &nbsp;glMatrixMode(GL_PROJECTION);</div><div class="code_line">&nbsp;&nbsp; &nbsp;gluOrtho2D(0.0,(GLdouble)width,-(GLdouble)(height/2),(GLdouble)(height/2));</div><div class="code_line">&nbsp;&nbsp; &nbsp;glClear(GL_COLOR_BUFFER_BIT);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">void _DisplayFnc()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;glClear(GL_COLOR_BUFFER_BIT);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;drawScena();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;glFlush();</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">}</div></ol></div></div></div></div>  <br>
График не выводиться. Что я делаю не так? :unsure: Подскажите, пожалуйста :rolleyes:]]></description>
        <author>agapa</author>
        <category>Программирование графики</category>
      </item>
	
      </channel>
      </rss>
	