我要发帖 回复

高级会员

53

主题

1193

积分

0

专家分

:

私信
发表时间 : 2011-10-10 10:47:04 | 浏览 : 1595    评论 : 5
有前辈说不能写在这里,写在这里不报错为什么没显示?回调的那种确实写不出来啊。尤其是对m_channel的获取。看了"MFC框架下文字"的例子代码,是不是vg下的,无法运行,也很难理解。请各位指教啊,不知道该怎么做了。
void C**View::OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView)
{
        // TODO: 在此添加专用代码和/或调用基类
        CView::OnActivateView(bActivate, pActivateView, pDeactiveView);
        // START: Vega Prime - Set Focus
   
        // if activating this view...
        if(bActivate)
        {
                // get the first Vega Prime window
                vpWindow *vpWin = *vpWindow::begin();

                // set the focus
                HWND hVPWnd = vpWin->getWindow();
                assert(::IsWindow( hVPWnd ) == TRUE);
                ::SetFocus(hVPWnd);


                if (vpWin)
                {
                glPushMatrix();
                   glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
                glPopMatrix();
                glRasterPos2f(0.5f, 0.5f);
                m_pGLFont->ShowStringBitmap("后视镜与望远镜(m键:2,5,10倍切换)");
                }
        }
}

最近VR访客

obuil 评论于2011-10-10 14:51:22
为什么要写在:OnActivateView函数中?

汉子显示代码 要写在 通道的订阅类中,参考 置顶帖中的 websample 关于通道订阅的例子代码
UE4   |   虚幻引擎   |   Unity VR    |    Hololens
sichuanwww 评论于2011-10-10 14:54:26
老大说得对哈
在回调函数里是鲜花
努力挣钱,快乐生活!
obuil 评论于2011-10-10 15:03:23
代码大概是如下样子的:


  1. class CVPChanText :
  2.         public vsChannel::Subscriber
  3. {
  4. public:
  5.         CVPChanText(void);
  6.         ~CVPChanText(void);
  7. public:


  8.         virtual void notify(vsChannel::Event, const vsChannel *,
  9.                 vsTraversalCull *) {};

  10.         virtual void notify(vsChannel::Event, const vsChannel *channel,vrDrawContext *context);

  11. private:
  12.         CGLFont                *m_pGlFont;
  13.         CString                m_text;
  14.         GLfloat                m_cx,m_cy;


  15. };


  16. void CVPChanText::notify(vsChannel::Event, const vsChannel *channel,vrDrawContext *context)
  17. {

  18.         if(channel)
  19.         {
  20.                
  21.                 context->pushElements(true);
  22.                 vrDepthTest::Element depthTestElement;
  23.                 depthTestElement.m_enable = false;
  24.                 context->setElement(vrDepthTest::Element::Id, &depthTestElement);
  25.                 vrTransform::ElementProjection projectionElement;
  26.                 projectionElement.makeOrthographic(0.0f, 1.0f, 0.0f, 1.0f, -1.0f, 1.0f);
  27.                 context->setElement(vrTransform::ElementProjection::Id,
  28.                         &projectionElement);

  29.                 glColor3f( cr_r, cr_g, cr_b);
  30.                 glRasterPos2f(m_cx,m_cy);

  31.                 m_pGlFont->ShowStringBitmap(m_text,hFont);

  32.                
  33.                 context->popElements(false);
  34.         }



  35. }



复制代码

GLFont类.rar

1.64 KB, 下载次数: 33

UE4   |   虚幻引擎   |   Unity VR    |    Hololens
jpucnpczjx 评论于2011-10-10 16:02:58
参考 置顶帖中的 websample 关于通道订阅的例子代码具体指的是哪一个呢?我现在是直接把4楼的代码写在了view.h中了。这样对不?系统报错:"subscriber"不是"vsChannel"的成员。我想我还不理解回调的用法,再救一下吧。。
obuil 评论于2011-10-10 16:06:45
jpucnpczjx 发表于 2011-10-10 04:02 PM
参考 置顶帖中的 websample 关于通道订阅的例子代码具体指的是哪一个呢?我现在是直接把4楼的代码写在了vie ...

http://www.52vr.com/bbs/forum.ph ... &extra=page%3D1
UE4   |   虚幻引擎   |   Unity VR    |    Hololens

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2022-11-30 08:31 AM

返回顶部